Bonjour à tous,
Voilà je vous explique mon problème. Je travaille avec un fichier Excel qui me permet de comparer les anciens prix d'achat en fonction d'un fournisseur et d'un appel d'offres.
Une fois le fournisseur et l'appel d'offres choisis, la macro me donne une liste d'articles avec leur désignation, leur quantité à commander et les 3 derniers prix et fournisseur sur cet article.
Une nouvelle version de SAP a été installée dans mon entreprise (avec un nouveau serveur) et j'ai également changé de PC.
Le fichier s'initialise correctement mais lorsque je choisis un Fournisseur dans mon menu déroulant, une erreur de compilation apparemment sur la ligne n°9 ci-dessous.
Voici la macro d'initialisation en complément pour une meilleure compréhension
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 Private Sub CB_Fournisseur_Change() Dim oCn As New ADODB.Connection Dim oRs As New ADODB.Recordset Dim sODBCconn As String, sReq As String If Me.CB_AO.Value <> "" Then Me.CB_AO.Value = "" Me.ListView1.ListItems.Clear On Error GoTo errHandler sODBCconn = "Provider=SQLOLEDB;Server=192.9.200.160\SAP;Database=CME_PROD;Uid=cme;Pwd=cmecme" Set oCn = New ADODB.Connection With oCn .ConnectionString = sODBCconn .CursorLocation = adUseServer .Open End With sReq = "SELECT CONVERT(varchar,T0.DocNum) + ' - ' + CONVERT(varchar,T0.DocDate, 103) FROM CME_PROD.dbo.OPQT T0 WHERE (T0.DocDate>=DATEADD(month,-2,GETDATE())) AND (T0.DocStatus<>'C') AND T0.CardName ='" & Me.CB_Fournisseur.Value & "' ORDER BY T0.DocDate DESC" Set oRs = oCn.Execute(sReq) Me.CB_AO.List = Application.Transpose(oRs.GetRows) oRs.Close oCn.Close Set oRs = Nothing Set oCn = Nothing Exit Sub errHandler: MsgBox "Problème de connection, veuillez réessayer plus tard" End Sub
Pour l'instant voici ce que j'ai tenté :
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 Private Sub UserForm_Initialize() Dim oCn As ADODB.Connection Dim oRs As New ADODB.Recordset Dim sODBCconn As String, sReq As String On Error GoTo errHandler sODBCconn = "Provider=SQLOLEDB;Server=192.9.200.160\SAP;Database=CME_PROD;Uid=cme;Pwd=cmecme" Set oCn = New ADODB.Connection With oCn .ConnectionString = sODBCconn .CursorLocation = adUseServer .Open End With sReq = "SELECT DISTINCT T0.CardName FROM CME_PROD.dbo.OPQT T0 WHERE (T0.DocDate>=DATEADD(month,-2,GETDATE())) AND (T0.DocStatus<>'C')" Set oRs = oCn.Execute(sReq) Me.CB_Fournisseur.List = Application.Transpose(oRs.GetRows) oRs.Close oCn.Close Set oRs = Nothing Set oCn = Nothing Exit Sub errHandler: MsgBox "Problème de connection, veuillez réessayer plus tard" End Sub
- J'ai réinstallé MSCOMCTL.OCX
- J'ai vérifié que la référence Microsoft Windows Common Controls 6.0 (SP6) était bien activée.
- Dans l'onglet Données => Connexions => Propriétés de la connexion, j'ai remis la chaîne de connexion à jour (Driver et Server), de ce côté là je suis sûr de ma manip puisque je l'ai fait sur un autre fichier qui fonctionne depuis.
J'espère avoir été clair dans mes explications.
Je suis à court d'idées et je viens chercher de l'aide.
Merci d'avance pour votre temps.
Partager