exportation de XL à Access

Le
dhe
Bonjour,

je dois mettre à jour une bdd access2003 depuis un fichier XL.
ll faut que un seul click puisse faire cette manipulation.
En consultant le forum, on parle de "Microsoft Activex Data Objects
2.0 librairy"
Comment puis-je faire pour activer ce contrôle? J'ai cherché un moment
mais pas trouvé.

Quelques codes permettent de le faire, mais ça me met un messsage
d'erreur.
Peu-être du à ce contrôle manquant?
Mon fichier XL comprend 13 collone et commence à partir de la ligne 6

Voilà mon code :
Sub Access()


Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database


Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:mabase.mdb;"
' open a recordset


Set rs = New ADODB.Recordset
rs.Open "MaTable", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table


r = 6 ' the start row in the worksheet


Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("Nom") = Range("A" & r).Value
.Fields("Prénom") = Range("B" & r).Value
.Fields("Année") = Range("C" & r).Value
' add more fields if necessary
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4907161
Bonjour,

En VBA, commande Outils/Référence.

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB

On 30 juin, 16:34, dhe
Bonjour,

je dois mettre à jour une bdd access2003 depuis un fichier XL.
ll faut que un seul click puisse faire cette manipulation.
En consultant le forum, on parle de "Microsoft Activex Data Objects
2.0 librairy"
Comment puis-je faire pour activer ce contrôle? J'ai cherché un moment
mais pas trouvé.

Quelques codes permettent de le faire, mais ça me met un messsage
d'erreur.
Peu-être du à ce contrôle manquant?
Mon fichier XL comprend 13 collone et commence à partir de la ligne 6

Voilà mon code :
Sub Access()

Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:mabase.mdb;"
' open a recordset

Set rs = New ADODB.Recordset
rs.Open "MaTable", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table

r = 6 ' the start row in the worksheet

Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
' add values to each field in the record
.Fields("Nom") = Range("A" & r).Value
.Fields("Prénom") = Range("B" & r).Value
.Fields("Année") = Range("C" & r).Value
' add more fields if necessary...
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub


dhe
Le #4906661
Merci Beaucoup.
C'est exactement ce que je voulais.
Tu m'enlève une bonne épine de mon pied.
Bon Dimanche
Publicité
Poster une réponse
Anonyme