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:

Discussions similaires

Statistiques des forums

Discussions
315 088
Messages
2 116 088
Membres
112 657
dernier inscrit
jpb3