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é :
La ligne surlignée est "Set Record = Command.Execute"
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
Si je n'utilise pas de "ADODB.Command" et que j'utilise :
Là c'est la seconde ligne qui est surlignée (même erreur)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set Record = New ADODB.Recordset Record.Open ReqSQL, Connect
Ç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...
Partager