Bonjour,

Pour des raisons pratiques, je voudrais créer une fonction de recherche SQL valide pour x tableaux structurés.
Je tiens vraiment à cette solution SQL, pas à une boucle ou autre filtres, ça je sais faire.

Type de fonction attendue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Function SQLFind(Table As ListObject, ParamArray Champs() As Variant) As String()
Sous-entendu, quelque soit mon tableau structuré, le souhaite retourner tout le contenu d'une ligne en fonction d'un ou plusieurs champs.

J'ai tenté plusieurs approches, et, systématiquement, le Recordset me renvoie une erreur d'exécution '3011' : Le moteur de base de données Microsoft Access n'a pas pu trouver l'objet PETITSDEJEUNERS. Vérifiez...
Mon dernier code de tentative infructueuse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub sqlSelect()
'   Nécessite la référence Microsoft Office xx.x Access Database Engine Object Library
Dim Table As DAO.Database, RecSet As DAO.Recordset, i As Long, LO As ListObject
    Set LO = Worksheets("RESTAURATION").ListObjects("PETITSDEJEUNERS")
    Debug.Print LO.Name
    Set Table = OpenDatabase(Workbooks("DEPLACEMENTS DPTs").FullName, False, False, "Excel 8.0")
    Set RecSet = Table.OpenRecordset("SELECT * FROM " & LO.Name)
    If RecSet.RecordCount > 0 Then
       RecSet.MoveFirst
       For i = 1 To RecSet.RecordCount
          If RecSet!Prenom <> "" Then Debug.Print RecSet!Prenom & vbTab & RecSet!Nom
          RecSet.MoveNext
       Next i
    End If
    Set LO = Nothing
    RecSet.Close
    Set RecSet = Nothing
    Table.Close
    Set Table = Nothing
End Sub