Bonjour à tout les développeurs.
Je vais essayer d'être assez clair :
J'ai excel 2007.
J'ai crée deux classeurs excel, "Panel_fournisseurs.xls" et "Tableau_de_suivi_des_Actions_Correctives_et_Préventives.xlsm", DSL pour les noms à rallonge
Dans le premier classeur il n'y a qu'une feuille (panel_fournisseurs) avec un tableau avec entête. Au dessus de ce tableau il y a 7 lignes qui ne font pas parti de ce tableau.
Dans le second classeur j'ai crée un bouton affecté à une macro qui ouvre un formulaire avec différentes données à renseigner puis un bouton valider.
Jusque là tout va bien, je souhaite en cliquant sur le bouton valider mettre à jour un champ du tableau du 1er classeur sans ouvrir celui-ci.
j'utilise donc la connection ADO, voici un bout de code pomper sur le net bien sûr:
Ce code fonctionne très bien si mon tableau n'a aucune ligne au dessus de lui mais des que j'insère du texte dans une ligne au dessus ou même que la ligne (vide) est un peu trop haute il me dit :
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 Dim Cn As ADODB.Connection Dim Fichier As String, Feuille As String, strSQL As String Dim point As Integer Dim nom As String Fichier = "Panel_fournisseurs.xls" Feuille = "Panel_fournisseurs" point = 0 nom = "test" Set Cn = New ADODB.Connection With Cn .Provider = "MSDASQL" .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _ "DBQ=" & Fichier & "; ReadOnly=False;" .Open End With strSQL = "UPDATE [" & Feuille & "$] SET " & _ "Notes_obtenues = " & point & " WHERE Fournisseurs = '" & nom & "'" Cn.Execute strSQL Cn.Close Set Cn = Nothing
Erreur d'exécution'-2147217904 (30040e10)':
[Microsoft][Pilote ODBC Excel] trop peu de paramètres. 2 attendu.
Je suppose qu'il n'arrive pas à trouver l'entête du tableau a cause de ces lignes supplémentaires au dessus.
J'essaye depuis hier de trouver un moyen de lui indiquer le nom du tableau qui est "table" dans ma requête strSQL mais il doit me manquer des infos au niveau de la syntaxe, quoique j'essaye il me dit erreur syntaxe UPDATE.
Ces lignes au dessus du tableau sont obligatoires car c'est un formulaire imposé je ne peux donc pas les effacer et ca m'embête d'abandonner ce projet qui nous ferai gagner un temps précieux pour les m.a.j.
Je vous remercie par avance pour votre aide.
Partager