Se connecter avec
S'enregistrer | Connectez-vous

VBA Excel - moteur de recherche

Dernière réponse : dans Programmation

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)




    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 :

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




    Pouvez-vous m'aider ?

    Merci

    Matt
  • Autres pages sur : vba excel moteur recherche

    Lassé par la pub ? Créez un compte
    Lassé par la pub ? Créez un compte