Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajout de données dans Access via Excel

  • Initiateur de la discussion Initiateur de la discussion Pioul14
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pioul14

XLDnaute Nouveau
Bonjour tout le monde,

Voilà , dans le cadre d'un stage, on me demande de créer un lien entre excel et access.

Je m'explique, en fait, c'est une gestion de magasion de maintenance.Sous excel j'ai une nomenclature avec la liste des piéces pour chaque machine et Access permet la gestion du stock du magasin.Access utilise une table "tbk-Article " qui contient la liste des piéces de toutes les machines et leurs données respectives ( fabricant, designation, fournisseur...).

Je voudrai que lors d'ajout d'une ligne dans la nomenclature excel, la macro verifie si la piéce est présente dans la base acess et dans le cas contraire l'ajoute. Un des probléme est qu'excel ne contient pas toute les données nécessaire au bon remplissage de ma table access il fodrait alors passer par un formulaire me permettant de remplir les champs vacants.

Je ne sais pas vraiment comment m'y prendre pour remplir une base access a partir de données excel et encor moin avec un formulaire...

Si quelqu'un peut m'aider, je le remercie par avance !
 
Re : Ajout de données dans Access via Excel

Bonjour,

Exemple d'ajout en DAO avec un formulaire:

Code:
Private Sub b_ok_Click()
  'cocher Microsoft DAO 3.6 dans Outils/Références
  Dim bd As Database
  Dim dt As Recordset
  Set bd = OpenDatabase(ActiveWorkbook.Path & "\access2000.mdb")
  Set rs = bd.OpenRecordset("client")
  If Me.nom_client = "" Then
     MsgBox "Saisir un nom!"
     Me.nom_client.SetFocus
     Exit Sub
  End If
  rs.AddNew
  rs!nom_client = Me.nom_client
  rs!ville = Me.ville
  rs!salaire = CDbl(Me.salaire)
  rs.Update
  rs.Close
  bd.Close
  Me.nom_client = Null
  Me.ville = Null
  Me.salaire = Null
  Me.nom_client.SetFocus
End Sub

En ADO:

Avec SQL:
Code:
Private Sub B_ok_Click()
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=Access2000.mdb"
  Sql = "INSERT INTO Client (Nom_client,ville,salaire) VALUES('" & Me.Nom_Client & "','" & _
   Me.Ville & "'," & CDbl(Me.Salaire) & ")"
  cnn.Execute Sql
  cnn.Close
  Set cnn = Nothing
End Sub

ou avec Recordset:

  ChDir ActiveWorkbook.Path
  Dim rs As New ADODB.Recordset
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=Access2000.mdb"
  rs.Open "client", cnn, adOpenDynamic, adLockOptimistic
  rs.AddNew
  rs!Nom_Client = Me.Nom_Client
  rs!Ville = Me.Ville
  rs.Update
rs.Close
cnn.Close

JB
Formation Excel VBA JB
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…