OVH Cloud OVH Cloud

Excel et access

1 réponse
Avatar
Jean
Bonjour à tous,

Je vodrais faire une macro excel qui gére des enregistrements qui vient
d'une base Access.

Comment peut-on afficher des enregistrements venant de Access. ?
Comment peut-on modifier une base Acces à partir de Excel ?

Où trouver des infos là dessus ?

Merci d'avance.

Jean

1 réponse

Avatar
JB
Bonjour,

Sans VBA, on peut sattacher à une table Access avec Données/Données
externe/Créer une requête.

En VBA:

Lire une base Accessdans Excel

La table access Client contient:
-Un champ nom_client
-Un champ ville

La base Access.mdb doit exister et être dans le même répertoire

Sub Lit_client()
'Cocher DAO 3.6 dans Outils/Référence
rep_appli = ActiveWorkbook.Path
Dim db As dao.Database
Dim rs As dao.Recordset
Set db = OpenDatabase(rep_appli & "access2000.mdb")
Set rs = db.OpenRecordset("Select * FROM client")
i = 2
Do While Not rs.EOF
Cells(i, 10) = rs!nom_client
Cells(i, 11) = rs!ville
rs.MoveNext
i = i + 1
Loop
End Sub

Ajouter des enregistrements dans une base Access

La table access Client contient:
-Un champ nom_client
-Un champ ville

La base Access.mdb doit exister et être dans le même répertoire

Sub ajout()
'Cocher DAO 3.6 dans Outils/Référence
If Range("B3").Value <> "" Then
Dim db As dao.Database
Dim rs As dao.Recordset
ChDir ActiveWorkbook.Path

Set db = OpenDatabase("access2000.mdb")
Set rs = db.OpenRecordset("client")
rs.AddNew ' Création enregistrement
rs!nom_client = Range("B3").Value ' Transfert
rs!ville = Range("B4").Value
rs.Update ' Validation
rs.Close
Range("B3").Value = ""
Range("B4").Value = ""
Else
MsgBox "Saisir un nom!"
End If
End Sub

Cordialement JB