FORUM Tom's Hardware » Programmation » Autre » VBA Excel - moteur de recherche
 

VBA Excel - moteur de recherche

Overclocking & Tuning : fifi2191 et 84 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : VBA Excel - moteur de recherche
 
Plus d'informations

Bonjour à tous,
 
Je viens ici car là je bloque !!!
 
Les bases :
 

  • j'ai une liste de documents dans un tableau(titre, auteur, date, ....)
  • j'ai crée un formulaire de recherche en VB qui inscrit le résultat dans des champs appropriés (voir image)


http://brattac55.free.fr/vb.jpg
 
 
Le problème est que lorsque je clique une première fois j'ai bien un résultat mais si je clique à nouveau sur Search, ça ne bouge pas, la recherche se fait sur la cellule active (il s'agit de celle qui résulte du code qui me permet de récupérer la première cellule de la ligne).
 
Voilà le code de mon formulaire :
 

Code :
  1. Private Sub CommandButton2_Click()
  2. Dim var As String
  3. Dim ligne As Integer
  4. Sheets("HMI" ).Select
  5. var = TextBox1.Text
  6. If var = "" Then
  7.     CommandButton4.Visible = False
  8.     Exit Sub
  9. Else
  10.     Sheets("HMI" ).Select
  11.     Cells.Find(What:=var, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
  12.         :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
  13.         False, SearchFormat:=False).Activate
  14. 'Afficher le formulaire de résultat(s)
  15.             UserForm2.Height = 528
  16.             UserForm2.Width = 520
  17.             Frame1.Visible = True
  18. 'Activer la cellule la plus à gauche
  19.             ligne = ActiveCell.Row
  20.             Cells(ligne, 1).Select
  21.            
  22.            
  23.            
  24. 'Inscrire les résultats de la recherche dans les champs correspondants
  25.             TitleBox.Text = ActiveCell.Offset(0, 1).Text
  26.             Author.Text = ActiveCell.Offset(0, 15).Text
  27.             Abstract.Text = ActiveCell.Offset(0, 16).Text
  28.             Year.Text = ActiveCell.Offset(0, 14).Text
  29.             Linkbox.Text = ActiveCell.Offset(0, 17).Text
  30. End If
  31. End Sub


 
 
 
Pouvez-vous m'aider ?
 
Merci
 
Matt

Plus d'informations

Bonjour à tous,
 
Aurais-je poser une colle ?
 
Matt


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » VBA Excel - moteur de recherche
 

Annonces Google
Publicité