Connection Excel - Access
Malex
-
moustapha_28 Messages postés 1 Statut Membre -
moustapha_28 Messages postés 1 Statut Membre -
Bonjour,
Je suis entrain de travailler sur un petit projet là.
Je ne m'y connais pas profindement dans les applications Windows comme Access - Excel.
Alors afin de ne plus vouloir actualiser mon tableau excel à la main, je voudrais écrire un makro qui qui se connectera à ma Base de donnée Access et écrira directement les informations dans les champs Excel lus de la base de donnée.
Merci de pour votre mail
Je suis entrain de travailler sur un petit projet là.
Je ne m'y connais pas profindement dans les applications Windows comme Access - Excel.
Alors afin de ne plus vouloir actualiser mon tableau excel à la main, je voudrais écrire un makro qui qui se connectera à ma Base de donnée Access et écrira directement les informations dans les champs Excel lus de la base de donnée.
Merci de pour votre mail
A voir également:
- Connection Excel - Access
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Gmail connection - Guide
- Déplacer colonne excel - Guide
3 réponses
A mon humble avis, il vaut mieux ecrire une procedure en VBA qui mettra le fichier excel a jour, mais je em demande si dans les options de synchro de Acces, il n'y a pas moyen de synchroniser avec Excel...Au fait, pourquoi as tu besoin d'excel?
. .
\_/
. .
\_/
Salut,
voila une solution :
dans Excel, tu cree une nouvelle macro.
Tu ajoutes dans les references (outils - references) celle qui s'appele "Microsoft DAO 3.6 Object Library".
Tu peux ainsi utiliser les objets pour acceder a ta bases de donnees.
Ensuite voila ce que tu ecrit dans ta macro :
Dim Db As Database, Re As Recordset, i as Integer
Set Db = OpenDatabase("le path de ta bdd par exemple c:\bd1.mdb")
Set Re = Db.OpenRecordset("le nom de la table qui contient les infos", dbOpenSnapshot)
i = 5
Do Until Re.EOF //tu fais une boucle sur les enregistrement de ta table
Range("E" & i).Select
ActiveCell.FormulaR1C1 = Re("le nom du champ de ta table dont tu veux la valeur")
i = i + 1
Re.MoveNext
Loop
et voila, il ne reste plus qu'a lancer la macro. Dans mon exemple, il remplira les lignes depuis E5 jusqu'a Ex, x etant le nombre d'enregistrement de ta table.
Pour info, dans les parametres de Recordset, tu peux soit entrer le nom d'un table, soit ecrire une requete SQL, mais dans ce cas je crois (je suis plus sur) que la constante dbOpenSnapshot pose probleme.
Voila, si cela marche aps, dis le moi, mais je viens de le faire a l'instant
A+
Mouse
PS: desole, pas d'accent sur le clavier...
voila une solution :
dans Excel, tu cree une nouvelle macro.
Tu ajoutes dans les references (outils - references) celle qui s'appele "Microsoft DAO 3.6 Object Library".
Tu peux ainsi utiliser les objets pour acceder a ta bases de donnees.
Ensuite voila ce que tu ecrit dans ta macro :
Dim Db As Database, Re As Recordset, i as Integer
Set Db = OpenDatabase("le path de ta bdd par exemple c:\bd1.mdb")
Set Re = Db.OpenRecordset("le nom de la table qui contient les infos", dbOpenSnapshot)
i = 5
Do Until Re.EOF //tu fais une boucle sur les enregistrement de ta table
Range("E" & i).Select
ActiveCell.FormulaR1C1 = Re("le nom du champ de ta table dont tu veux la valeur")
i = i + 1
Re.MoveNext
Loop
et voila, il ne reste plus qu'a lancer la macro. Dans mon exemple, il remplira les lignes depuis E5 jusqu'a Ex, x etant le nombre d'enregistrement de ta table.
Pour info, dans les parametres de Recordset, tu peux soit entrer le nom d'un table, soit ecrire une requete SQL, mais dans ce cas je crois (je suis plus sur) que la constante dbOpenSnapshot pose probleme.
Voila, si cela marche aps, dis le moi, mais je viens de le faire a l'instant
A+
Mouse
PS: desole, pas d'accent sur le clavier...
Je comprend ce que tu dis, mais comment faire, quel est le code.
Je suis un programmeur Java, mais là où je travail , je dois réussir cette automation là sinon je serais bientot surmené.
Je voudrais accéder à la base de donnée ACCESS pour afficher le contenu à Excel, puis faire des grafiques ...etc
Je n'ai plus envie de faire ca à la main c'est trop de travail et c'est embêtant.
http://www.mvps.org/accessfr/modules/mdl0035.htm
A partir de ca, tu dois pouvoir faire une petite procedure qui des que tu rajoutes un enregistrement dans ACCESS, ca le rajoutera direct dans Excel, ou alors, tu fais un bouton export et pouf...
Amuses toi bien :-)))
. .
\_/