Menu déroulant dans un Userform
Bonjour
Je suis entrain d'écrire une macro qui fait la chose suivante :
1- Un bouton dans une feuille fait apparaitre mon Userform
2- ensuite sur le userform, j'ai un bouton qui, une fois cliqué dessus, fait apparaite une InputBox dans laquelle l'utilisateur doit reseigner le chemin d'accès du dossier excel qu'il doit ouvrir.
3- Une fois le chemin renseigné, le modèle ADO me permet d'accéder au fichier sans l'ouvrir, de récupérer le nom de toutes les feuilles présentes dans le fichier, et de me les afficher dans mon UserForm sous forme de menu déroulant.
C'est ce menu déroulant que je voudrais. Voici le bout de code que j'ai écris pour les 3 premières étapes.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub CommandButton1_Click()
Dim lien As String, i As Integer, j As Integer
Dim con As ADODB.Connection, oCat As ADOX.Catalog
Dim Feuille As ADOX.Table, TteFeuille As String, Tableau() As String
lien = InputBox("Renseigner le lien du dossier à traiter", "Lien du dossier contrepartie")
Set con = New ADODB.Connection
Set oCat = New ADOX.Catalog
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & lien & _
"Extended Properties=Excel 8.0;"
Set oCat.ActiveConnection = con
j = 0
For Each Feuille In oCat.Tables
j = j + 1
ReDim Preserve Tableau(1 To j)
Tableau(j) = Feuille.Name
Next Feuille
End Sub |
Mon soucis réside sur cette étape (introduction du nom des feuilles dans un menu déroulant). Je ne sais pas si la ListBox me permettra de faire la suite, qui est :
lorsque l'utilisateur clique sur l'un des noms de feuilles affichée, qu'il puisse récupérer les données contenues dans cette feuille.
Je sais que cela est possible avec le modèle ADO, mais je ne vois pas encore comment je vais procéder.
Code:
1 2 3 4 5 6 7 8 9
|
Private Sub ListBox1_Click()
For i = 1 To j
ListBox1.Value = Tableau(i)
Next i
If ListBox1.Value.Selected = True Then
End Sub |