OVH Cloud OVH Cloud

liaison EXCEL ACCESS

1 réponse
Avatar
j0b
bonsoir a vous, alors voila j ai les codes sources pour effectuer une connexion entre excel et access mais le problème n'est pas la. Je voudrais bien savoir comment envoyer une cellule ou une plage de cellule dans une table de access qui existe déjà. Je cherche a créer un bouton qui en un clic me fasse la mise a jour de la table access a partir des données de la plage excel. Voila donc je pense que j ai été bien clair si ce n est pas le cas n ésité pas a me demander d avantage de renseignement. Merci pour votre aide a tous.

1 réponse

Avatar
michdenis
Bonjour j0b,


2 Méthodes - Exporter Vers ACCESS - Select Into

Pour le temps que va durer l'exportation, on doit créer une plage nommée de la colonne à exporter vers la base de
données.

Cette plage nommée dans l'exemple s'appelle "Plage".
La toute première ligne de la plage nommée "plage" représente une étiquette de colonne du même nom de champ de la table
où les données seront exportées.

Dans l'exemple suivant, il ne te restera plus qu'à adapter le nom des objets selon ton application.
toto = Nom de la table dans la base de données Comptoir.mdb
Pour ce qui est du champ de numéro automatique dans ta base de données, il va se mettre à jour tout seul !

Évidemment, tu dois ajouter la bibliothèque : Microsoft DAO 3.6 objects Librairy
'-------------------------------------
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

With Worksheets("Feuil1")
.Range("B4:B" & .Range("B65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO toto IN 'C:ExcelComptoir.mdb' SELECT * FROM [Plage]"
ThisWorkbook.Names("Plage").delete
bd.Close
Set bd = Nothing
End Sub
'-------------------------------------


'-------------------------------------
Sub AjouterDesEnregistrementsÀUneTable()

Dim MyDB As Database, MyTable As Recordset, Sh As Worksheet

Set MyDB = OpenDatabase("C:Mes documentsbd2.mdb")
Set MyTable = MyDB.OpenRecordset("Etudiant")
Set Sh = Worksheets("Feuil1")

With Sh
For Each r In .Range("A1:C5").Rows
With MyTable
.AddNew
!NumEtudiant = Sh.Cells(r.Row, 1)
!NomEtudiant = Sh.Cells(r.Row, 2)
!NumTel = Sh.Cells(r.Row, 3)
.Update
End With
Next
End With
Set MyDB = Nothing: Set MyTable = Nothing: Set Sh = Nothing

End Sub
'-------------------------------------


Salutations!



"j0b" a écrit dans le message de news:413f4c00$0$24274$
bonsoir a vous, alors voila j ai les codes sources pour effectuer une connexion entre excel et access mais le problème
n'est pas la. Je voudrais bien savoir comment envoyer une cellule ou une plage de cellule dans une table de access qui
existe déjà. Je cherche a créer un bouton qui en un clic me fasse la mise a jour de la table access a partir des données
de la plage excel. Voila donc je pense que j ai été bien clair si ce n est pas le cas n ésité pas a me demander d
avantage de renseignement. Merci pour votre aide a tous.