Bonjour,
Je dois créer un classeur Excel qui automatisera une tâche.
Pour le moment j'ai réussi à coder ceci, en prenant ici où là des infos.
Pour le moment, l'ancien et le nouveau code est fixe mais plus tard, il faudra que je parcours une feuille Excel.
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 Dim ODBC_Cmd As ADODB.Command Dim ODBC_Cnx As ADODB.Connection ' Ouvrir la connexion la base On Error GoTo NotOpen Set ODBC_Cnx = New ADODB.Connection Set ODBC_Cmd = New ADODB.Command Dim Prm1 As ADODB.Parameter, Prm2 As ADODB.Parameter 'Dfinition de la chane de connexion ODBC_Cnx.ConnectionString = "DSN=Base;UID=sa;PWD=Pass;" 'Ouverture de la base de donnes ODBC_Cnx.Open If ODBC_Cnx.State = adStateOpen Then MsgBox "connexion russie" ' Prparer l'objet Commande On Error GoTo ErrCmd ODBC_Cmd.ActiveConnection = ODBC_Cnx ODBC_Cmd.CommandType = adCmdStoredProc ODBC_Cmd.CommandText = "sp_Recod_Article" Set Prm1 = ODBC_Cmd.CreateParameter("@AncCodeArticle", adChar, adParamInput, 50) Set Prm2 = ODBC_Cmd.CreateParameter("@NouvCodeArticle", adChar, adParamInput, 50) ODBC_Cmd.Parameters.Append Prm1 Prm1.Value = "02ETI3947" ODBC_Cmd.Parameters.Append Prm2 Prm2.Value = "ZZ02ETI3947" ' Excuter la commande ODBC_Cmd.Execute End If GoTo EndSub NotOpen: MsgBox "Connexion la base errone", ODBC_Cnx.ConnectionString GoTo EndSub ErrCmd: MsgBox "Commande non exécutée" EndSub: ODBC_Cnx.Close Set ODBC_Cmd = Nothing Set ODBC_Cnx = Nothing
Mon but est de faire appel à une procédure stockée appelée "sp_Recod_Article" en sachant que cette procèdure accepte deux entrées, l'ancien et le nouveau code.
Le souci c'est qu'il m'affiche le message d'erreur "commande non exécuté" et je ne comprends pas d'où peut provenir l'erreur.
Merci de votre aide
Partager