Const Chemin As String = "D:\REPERTOIRE\ANNUAIRE\"
Const Fichier As String = "repertoire.xlsx"
Dim cn As ADODB.Connection, a
'Dim Fichier As String
'Dim NomFeuille As String,
Dim texte_SQL As String
Dim rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
'Fichier = "D:\REPERTOIRE\ANNUAIRE\repertoire.xlsx" 'à adapter
'Nom de la feuille dans le classeur fermé
'NomFeuille = "BD"
Set cn = New ADODB.Connection
'--- Connexion ---
With cn
'.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Chemin & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
'Requête
'texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
'texte_SQL = "SELECT Prenoms, email FROM [BDD$] WHERE noms='" & NomCherche & "'"
texte_SQL = "SELECT * FROM [BDD$] WHERE noms='" & NomCherche & "'"
Set rst = New ADODB.Recordset
Set rst = .Execute(texte_SQL)
'Feuil2.Range("A1").CopyFromRecordset rst
a = Application.Transpose(rst.GetRows)
If UBound(a, 1) > 2 Then
UsfGen.ListBox26.List = a
Else
UsfGen.ListBox26.AddItem a(1)
UsfGen.ListBox26.List(UsfGen.ListBox26.ListCount - 1, 1) = a(2)
End If
'Ecrit le résultat de la requête dans la cellule A2
'Range("A2").CopyFromRecordset rst
'--- Fermeture connexion ---
'.Close
End With
Set cn = Nothing
End Sub