Bonjour,

Si je suis ici, c'est que j'ai un problème, donc le voici...
Lorsque je tente d'ouvrir un "ADODB.Recordset", j'ai constamment un message d'erreur à l'exécution... J'ai tenté d'écrire le code de plusieurs façons (trouvées sur internet), mais toujours exactement le même erreur :

"[Microsoft][Pilote ODCB Texte] Trop peu de paramètres. 2 attendus."

Là où je ne comprend vraiment pas, c'est qu'ayant mis le fichier Excel sur un autre PC possédant Excel 2000, cela a très bien fonctionné. (Le problème n'est présent qu'avec la version 2007 d'Office)

Voici un des codes que j'ai essayé :

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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Sub Test()
 
    Dim Repertoire As String
    Dim CSVFile As String
    Repertoire = ActiveWorkbook.Path & "\"
    CSVFile = "Tests.csv"
 
 
    Dim Connect As ADODB.Connection
    Dim Command As ADODB.Command
    Dim REcord As ADODB.Recordset
 
    Set Connect = New ADODB.Connection
    Connect.ConnectionString = _
        "ODBC;DBQ=" & Repertoire & ";DefaultDir=C:\;" & _
        "Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;" & _
        "Extensions=txt,csv,tab,asc;FIL=text;MaxBufferS"
    Connect.Open
 
 
    Dim Sel As String
    Dim Whe As String
    Dim strSQL As String
 
    Sel = "Fonction"
    Whe = "Catégorie ='Test'"
 
    strSQL = _
        "SELECT " & Sel & _
        " FROM " & CSVFile & _
        " WHERE " & Whe
 
 
    Set Command = New ADODB.Command
    Command.ActiveConnection = Connect
    Command.CommandType = adCmdText
    Command.CommandText = strSQL
    Set Record = Command.Execute
 
 
    [Utilisation dans Excel...]
 
 
    Record.Close
    Set Record = Nothing
    Connect.Close
    Set Connect = Nothing
End Sub
La ligne surlignée est "Set Record = Command.Execute"
Si je n'utilise pas de "ADODB.Command" et que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Set Record = New ADODB.Recordset
Record.Open ReqSQL, Connect
Là c'est la seconde ligne qui est surlignée (même erreur)


Ça fonctionnait très bien sous Office 2000, alors je pense à des paramètres différents de VBA... J'ai lu qu'il fallait cocher, dans "Outils > Références..." 3 choses :
> Microsoft ActiveX Data Objects 2.8 Library
> Microsoft ActiveX Data Objects Recordset 2.8 Library
> Microsoft ADO Ext. 2.8 for DLL and Security
Ces trois cases sont biens cochés sur les 2 PC.

Voilà, je bloque complètement ><
Merci de m'avoir lu (au moins :p) et merci d'avance aussi ceux qui se pencheront sur le problème ^^'.
S'il y a une question ou un détail à apporter, n'hésitez pas à le demander. De même, si vous trouvez quelque chose d'inutile ou une amélioration que je pourrais faire (même si ça ne concerne pas le problème même), je suis là pour apprendre (surtout que je m'y connais très peu en VBA, je bidouille :p)



Edit : C'est un soucis de séparateur de liste, différents entre 2007 et 2000... j'ouvre un autre topic pour préciser...