je dois mettre =E0 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=2E0 librairy"
Comment puis-je faire pour activer ce contr=F4le? J'ai cherch=E9 un moment
mais pas trouv=E9.
Quelques codes permettent de le faire, mais =E7a me met un messsage
d'erreur.
Peu-=EAtre du =E0 ce contr=F4le manquant?
Mon fichier XL comprend 13 collone et commence =E0 partir de la ligne 6
Voil=E0 mon code :
Sub Access()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set cn =3D New ADODB.Connection
cn.Open "Provider=3DMicrosoft.Jet.OLEDB.4.0; " & _
"Data Source=3DC:\mabase.mdb;"
' open a recordset
Set rs =3D New ADODB.Recordset
rs.Open "MaTable", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r =3D 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") =3D Range("A" & r).Value
.Fields("Pr=E9nom") =3D Range("B" & r).Value
.Fields("Ann=E9e") =3D Range("C" & r).Value
' add more fields if necessary...
.Update ' stores the new record
End With
r =3D r + 1 ' next row
Loop
rs.Close
Set rs =3D Nothing
cn.Close
Set cn =3D Nothing
End Sub
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
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
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
Merci Beaucoup. C'est exactement ce que je voulais. Tu m'enlève une bonne épine de mon pied. Bon Dimanche
Merci Beaucoup.
C'est exactement ce que je voulais.
Tu m'enlève une bonne épine de mon pied.
Bon Dimanche