Passage de 2007 à 2003 access adodb

Makina

XLDnaute Junior
Bonjour,

J'ai crée une macro avec l aide de quelque personnes de se forum. Une partie de ma macro me permet d'alimenter une base de donnée depuis un fichier excel. Le code VBA a été réalisé sous 2007 et je dois maintenant le fair fonctionner sous 2003 .... Le problème est que cela ne fonctionne pas.
Voici le code :

Code:
Sub ConnectionBase()
 Set Cnx = New ADODB.Connection
 On Error GoTo Err1
 Cnx.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and settings\D6432025\Desktop\cartonette\Base_cartonette.mdb;Persist Security Info=False"
 Exit Sub
Err1:
 DeconnexionBase
 End Sub
 
Sub DeconnexionBase()
 On Error Resume Next
 Cnx.Close
 End Sub
 
Sub ajoutdb()
 Dim NcmdT As String, NcmdE As String, nbrobjcmdag As String, SQLText As String
 Dim Nag As String, nbrobjag As String, Nom As String, NomF As String
 
m = 9
     For m = 9 To 17
        If Cells(m, 1) <> "" Then
     
        Nag = Range("w2").Value
        nbrobjag = Range("E18").Value
        Nom = Range("L5").Value
        NomF = Range("C5").Value
         
        NcmdT = Workbooks(nametest).Sheets("Feuil1").Cells(m, 1).Value
        NcmdE = Workbooks(nametest).Sheets("Feuil1").Cells(m, 2).Value
        nbrobjcmdag = Workbooks(nametest).Sheets("Feuil1").Cells(m, 23).Value
     
        SQLText = "INSERT INTO Donnees ([N° de commande Technifen], [N° de commande easywin], [Nombre d'objet de la commande sur l'agrès], [N° de l'agrès], [Nombre d'objet sur l'agrès], [Nom client Technifen et adresse],  [Nom client final]) VALUES ('" & NcmdT & "', '" & NcmdE & "', '" & nbrobjcmdag & "', '" & Nag & "', '" & nbrobjag & "', '" & Nom & "', '" & NomF & "')"
        ConnectionBase
                Cnx.Execute SQLText
        DeconnexionBase
        End If
         
    Next m
     
End Sub

J ai essayer en remplacant :
Cnx.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and settings\D6432025\Desktop\cartonette\Base_cartonette.mdb;Persist Security Info=False"
par :
with Cnx
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and settings\D6432025\Desktop\cartonette\Base_cartonette.mdb; extended properties=""excel 8.0;HDR=yes;Imex=1"";"

Mais cela ne fonctionne pas !

Merci pour votre aide !
 

Roland_M

XLDnaute Barbatruc
Re : Passage de 2007 à 2003 access adodb

bonjour,

A ADAPTER sur cette base (excuse mais je manque de temps ! j'utilise ceci pour tester selon la version)
et cocher la référence
Microsoft ActiveX Data Objects x.x Library (x.x exemple 2.0)

Code:
'ouverture (test version excel)
Set ADOConnect = CreateObject("ADODB.Connection")
If Int(Val(Application.Version)) < 12 Then
   ADOConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & ChemFichSource & ";Extended Properties=""Excel 8.0;HDR=No;"";"
Else
   ADOConnect.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ChemFichSource & ";Extended Properties=""Excel 12.0;HDR=No;"";"
End If
 
Dernière édition:

Makina

XLDnaute Junior
Re : Passage de 2007 à 2003 access adodb

Bonjour Roland_M,

Merci de ta réponse ! comme je passe d'un ordi à l autre, c est vrai que se sera utile. Mais j'ai toujours un problème!
erreur d'exécution '-2147467259 (80004005)':
la table externe n'est pas au format attendu

alors que sous 2007, tout va bien!

Merci encore
 

Makina

XLDnaute Junior
Re : Passage de 2007 à 2003 access adodb

Alors chose qui me parait bizard; Si jouvre le fichier .mdb alors la ligne de code passe j ai la boite de dialogue de propriété des liaisons et il m'ouvre mon fichier MAIS en format xls et non mdb du coup, il ne touve pas ma table : donnees et bug sur adoconnect.execute sqltext ....
Je suis désepéré!
 

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG