Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche dans liste externe

erics83

XLDnaute Impliqué
Bonjour,

Je cherche à faire un Userform qui recherche des noms dans un classeur fermé, la recherche se faisant en tapant les premières lettres du nom.

J'ai essayé le code conseillé par Jacques Boisgontier (qui donne un lien vers ce site et dont les tutos sont super !), c'est le code
Code:
Dim Liste
Private Sub UserForm_Initialize()
  'Microsoft ActiveX DataObject doit être coché
  ' Champ nommé BD
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
     ThisWorkbook.Path & "\" & "BDPROD.xls"
  Set rs = cnn.Execute("SELECT libellé FROM BD")
  Me.ListBox1.List = Application.Transpose(rs.GetRows)
  Liste = Me.ListBox1.List
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Sub

Private Sub TextBox1_Change()
  Me.ListBox1.Clear
  For Each c In Liste
    If UCase(c) Like UCase(Me.TextBox1) & "*" Then Me.ListBox1.AddItem c
  Next c
End Sub

Private Sub TextBox2_Change()
   Me.ListBox1.Clear
   For Each c In Liste
      If UCase(c) Like "*" & UCase(Me.TextBox2) & "*" Then Me.ListBox1.AddItem c
   Next c
End Sub

Private Sub ListBox1_Click()
   ActiveCell = Me.ListBox1
   Unload Me
End Sub
mais je n'arrive pas à le faire fonctionner, il bloque au niveau de
Code:
 Me.ListBox1.List = Application.Transpose(rs.GetRows)
et je ne comprends pas pourquoi....je suis sous excel 2003...

En vous remerciant pour votre aide,
 
Dernière édition:

erics83

XLDnaute Impliqué
Re : Recherche dans liste externe

Excusez pour les "...erreur message..."...j'étais sur tablette et c'est moins facile d'utilisation lorsqu'on veut modifier un message...
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…