Excel-Access récupération de champs

Résolu/Fermé
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 24 févr. 2010 à 15:20
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 9 mars 2010 à 18:01
Bonjour,

J'ai fait un formulaire de saisie d'identité de client sous access avec d'autre saisie.
J'ai fait un questionnaire sous excel qui devra être lié au client.
Pour faire mon rapport, j'ai besoin de récupérer, sous excel, certains champs saisis sous access.

Comment dois-je faire pour que ça soit automatique et pas au coup par coup ?
C'est a dire que lorsque j'ouvre mon fichier excel il y ait les coordonnées du client dans la feuil du questionnaire.

Quelqu'un peut-il me renseigner SVP ?
A voir également:

64 réponses

mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
3 mars 2010 à 18:44
Bonsoir michel_m,
Merci pour l'info "client". Ca veut donc dire écrire "client" dans la variable client, n'est ce pas?
Concernant la proposition de Le Pingou, je suis en train de débugger. J'ai déclaré des variables qui manquent et je bloque justement sur celle-ci: "exapp =" ? avez-vous l'astuce SVP?
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
3 mars 2010 à 21:40
Bonjour mod77,
Il n'y a rien à débugger dans ma procédure qui fonctionne correctement.
Voir : https://forums.commentcamarche.net/forum/affich-16750113-excel-access-recuperation-de-champs?page=2#25
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
3 mars 2010 à 18:49
Est-ce possible que ça soit lié à ma version qui est de 2002?
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
3 mars 2010 à 19:04
Finalement michel_m, j'ai repris votre proposition.
Pouvez-vous me dire si je peux choisir la façon d'afficher les données récupérées SVP , sur une même colonne.
Merci
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
3 mars 2010 à 21:27
Bonjour mod77,
Je viens de contrôler le fichier exemple et il fonctionne à la perfection.
Il y a certainement une erreur chez vous.
Contrôler, sous Access, que la bibliotèque "Microsoft Excel xx Objects Library" est disponible dans les références MS VBA (Alt+F11 et sous menu Outils clic sous Références )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 11:38
Bonjour Le Pingou,

Je n'ai pas voulu vous offusquer, je sais au combien votre aide m'est toujours précieuse, mais comme ça plantait dès le début d'abord sur "repclasseur" alors je l'ai déclaré, puis sur "Chr(34)" et enfin sur "exapp =" je ne savais plus quoi faire.
Néanmoins, j'ai regardé dans les références et j'ai bien "Microsoft Excel 10 Objects Library" de sélectionné.

Sur l'utilisation de votre proposition je dois bien ouvrir le fichier Excel "GestionPerso" puis ouvrir la BD_GestionPerso et cliquer sur le bouton "Renseigner Excel" apres avoir sélectionné ma fiche ?

Se serait bien que ça marche, car c'est exactement la façon de gérer que je cherche à faire.

Merci encore
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 16:11
Bonjour,
Il y a certainement un problème de version Access.
Qu'elle est votre version ?
En plus, merci, de mettre une copie de la fenêtre des références !
J'attends votre réponse.
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 16:38
Bonjour,

j'ai 2002, et voici le lien: https://www.cjoint.com/?deqLmBgvjw
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 16:56
Je ne comprends pas aussi pourquoi il n'y a pas de déclaration "repclasseur" dans votre proposition alors que dans celle de michel_m "chemin" est déclaré ?
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 17:17
Bonjour,
Tout simplement parce que je l'ai réalisé sans la déclaration obligatoire (instruction : Option Explicit n'est pas présente).
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 17:04
Bonjour,
Merci. Mais se n'est pas les bonnes références, elles cporrespondent GestionPerso.xls:
Merci de mettre celles qui correspondent à Access GestionPerso.mdb
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 17:07
Merci Le Pingou,
je viens de voir qu'il manque aussi "microsoft excel 12.0 object library" lorsque j'ouvre BD "GestionPerso"

je vais voir ce que vous me marquez.

A+
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 17:11
Bonjour,
Attention les messages se sont croisés, merci de relire le 31 !
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 17:12
Voici ce que j'ai maintenant:

https://www.cjoint.com/?derjU2lKLd

mais je ne trouve pas le fichier manquant.
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 17:25
Bonjour,
Merci comme cela c'est mieux.
Vous devez décocher [Manquant: Microsoft Exel 12.0 Object Library] et [Microsoft ADO Ext. 2.8 for DDL and Security]
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 17:33
Hip hip hip! En..fin!
Un grand merci à vous ça marche, Le Pingou.

Je vais essayer d'adapter maintenant votre version.
Il y a dores et déjà une ligne que je ne comprends pas :
" WHERE T_InitialisationAnnees.Identification = " & Chr(34) & Form_F_InitConge.Matricule & Chr(34)

Que représente Chr(34) ? et
quelle différence y-a-t-il entre "Sub EngVersExcel_ouvre_classeur()" et "Sub EngVersExcel()" dans leur rôle?

Merci
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 17:59
Bonjour,
Juste au passage .....
Que représente Chr(34) ? Caractère de ponctuation (") nécessaire à la requête , a ne pas remplacer ou supprimer.
quelle différence y-a-t-il entre "Sub EngVersExcel_ouvre_classeur()" et "Sub EngVersExcel()" dans leur rôle? La première est un essai qui ouvre un classeur, j'ai oublié de la supprimer.
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 18:16
OK! dommage c'est celle qui se compile bien, l'autre me cause problème, mais c'est mon adaptation.

Peut-on prévoir que Excel s'ouvre dès qu'on appui sur le bouton dans access, puis éxécute le transfert ?
Ou faut-il créer un autre bouton pour cela ?
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 21:29
Bonjour,
Je suis de retour, mes réponses pour ce poste:
OK! dommage c'est celle qui se compile bien, l'autre me cause problème, mais c'est mon adaptation.
Les 2 vous poserons des problèmes, vous devez adapter le code selon vos propres fichiers.

Peut-on prévoir que Excel s'ouvre dès qu'on appui sur le bouton dans access, puis éxécute le transfert ? Oui c’est possible, cela dépends de la fréquence des ouvertures/fermetures mais cela on ne le sait pas.

Ou faut-il créer un autre bouton pour cela ? Non
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
4 mars 2010 à 18:24
J'ai oublié:
Je n'ai pas trouvé la variable "matricule" dans votre base access. Est-ce que je dois laisser ce terme pour la mienne?

Aussi, je n'ai pas créé de requête est-ce indispensable ?
ça bloque à cette ligne:

strSQL = "SELECT * FROM T_Client" & _
" WHERE T_Client.N°Client = " & Chr(34) & Form_F - Table.Matricule & Chr(34)

merci
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
4 mars 2010 à 21:55
Bonjour,
Concerne poste 40 :
Je n'ai pas trouvé la variable "matricule" dans votre base access. Est-ce que je dois laisser ce terme pour la mienne?
Matricule est le nom du champ d’identification du formulaire [Form_F_InitConge] (champ père) qui lient les enregistrements du sous-formulaire [Form_ SF_InitialisationConge] (champ fils).
Vous devez donc mettre le nom que vous avez dans votre formulaire [Form_.......... . NomDeVotreChamp ]

Aussi, je n'ai pas créé de requête est-ce indispensable ?
Sans requête, aucunes données seras disponibles …
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
5 mars 2010 à 08:25
Bonjour,

Alors, comment est appelé/activé cette requête et quelle est la requête qui sert à l'affichage SVP ?
0
Le Pingou Messages postés 12044 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
5 mars 2010 à 14:30
Bonjour,
Eh bien :
Alors, comment est appelé/activé cette requête et quelle est la requête qui sert à l'affichage SVP ?

La requête est transmise à la variable [strSQL]
strSQL = "SELECT * FROM T_InitialisationAnnees" & _
" WHERE T_InitialisationAnnees.Identification = " & Chr(34) & Form_F_InitConge.Matricule & Chr(34)

La requête est exécutée et le résultat est transmis dans la variable [rstcha]
Set rstcha = cdb.OpenRecordset(strSQL)
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
5 mars 2010 à 09:44
Le Pingou,

J'ai 2 questions qui ont leur importance:

1- Est-ce que je peux utiliser comme argument de liaison entre table et formulaire, la variable de clé des tables?
J'ai écris ceci, mais ça bug à la dernière ligne: C'est N°Client qui est la clé des 2 tables.

strSQL = "SELECT * FROM T_Client" & _
" WHERE T_Client.N°Client = " & Chr(34) & Form_F_TableSF.N°Client & Chr(34)
Set rstcha = cdb.OpenRecordset(strSQL)

2- Pouvez-vous me préciser, aussi, s'il y a une raison particulière de changer le nom de la zone texte "identifications" en "matricule" SVP ?

Merci
0