Excel-Access récupération de champs

Résolu
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -  
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Est-ce possible que ça soit lié à ma version qui est de 2002?
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Bonjour,

j'ai 2002, et voici le lien: https://www.cjoint.com/?deqLmBgvjw
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Attention les messages se sont croisés, merci de relire le 31 !
0
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
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