Problème Macro entre Excel et Word
Résolu
nicodu072
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
nicodu072 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
nicodu072 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Après plusieurs questions posées sur le forum, et dont les réponses m'ont été très utiles, je me tourne à nouveau vers CCM pour un autre point à éclaircir :
J'ai un environnement de travail qui lie deux classeurs, en l'ouvrant je tombe sur le classeur [Nomenclature] qui est lié au classeur [Liste des Fournisseurs].
Sur la feuille Liste Matériel Aéraulique du classeur [Nomenclature], il y a un bouton qui me permet d'ouvrir un fichier Word afin de créer un publipostage automatique à l'aide d'un VBA.
Mon problème est le suivant : lorsque je test le VBA sous Word, il fonctionne parfaitement, mais lorsque je l'utilise par le bouton Excel, une erreur s'affiche et donc cela ne fonctionne pas.
Pour visualiser le fonctionnement, je pense qu'il faut d'abord regarder le programme du fichier Word (pour info, pour ouvrir le fichier word, maintenir Maj enfoncé car il y a une fermeture auto), puis essayer le bouton excel après.
Merci de votre aide.
Liste des fichiers : https://www.cjoint.com/?BHom5aYnbaD
Après plusieurs questions posées sur le forum, et dont les réponses m'ont été très utiles, je me tourne à nouveau vers CCM pour un autre point à éclaircir :
J'ai un environnement de travail qui lie deux classeurs, en l'ouvrant je tombe sur le classeur [Nomenclature] qui est lié au classeur [Liste des Fournisseurs].
Sur la feuille Liste Matériel Aéraulique du classeur [Nomenclature], il y a un bouton qui me permet d'ouvrir un fichier Word afin de créer un publipostage automatique à l'aide d'un VBA.
Mon problème est le suivant : lorsque je test le VBA sous Word, il fonctionne parfaitement, mais lorsque je l'utilise par le bouton Excel, une erreur s'affiche et donc cela ne fonctionne pas.
Pour visualiser le fonctionnement, je pense qu'il faut d'abord regarder le programme du fichier Word (pour info, pour ouvrir le fichier word, maintenir Maj enfoncé car il y a une fermeture auto), puis essayer le bouton excel après.
Merci de votre aide.
Liste des fichiers : https://www.cjoint.com/?BHom5aYnbaD
A voir également:
- Problème Macro entre Excel et Word
- Word et excel gratuit - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Liste déroulante excel - Guide
51 réponses
Bonjour,
Je vous donne la marche à suivre uniquement si tout fonctionne correctement.
Copier le module [lepingou] complet et le coller dans le module du classeur de travail.
Enregistrer puis faite correspondre chaque bouton de commande via clic droit [Affecter à une macro...] et clic sur le bouton adéquat dans la liste puis sur OK et recommencer pour les 2 autres.
Bon travail et bonne nuit.
Je vous donne la marche à suivre uniquement si tout fonctionne correctement.
Copier le module [lepingou] complet et le coller dans le module du classeur de travail.
Enregistrer puis faite correspondre chaque bouton de commande via clic droit [Affecter à une macro...] et clic sur le bouton adéquat dans la liste puis sur OK et recommencer pour les 2 autres.
Bon travail et bonne nuit.
Magnifique,
cela fonctionne très bien. En effet, [Microsoft Word xx.0 Object Library] n'était plus coché. Ayant déjà été cocher avant, cette fonction ne reste pas par défaut ?
Maintenant, je supose que si je créé d'autres boutons pour publiposter à partir d'une autre base, je complète votre protocole en reprenant votre base pour ajouter les boutons et en modifiant simplement les variables [docpub] et [nomfeuil] ?
Dernière question, connaissez vous également un site ou autre qui explique en détail et de facon complète le VBA car pour moi cela me semble complexe de savoir quoi et comment déclarer les varibles et surtout l'écriture à utiliser.
En tout cas je vous suis très reconnaissant pour toute l'aide et le temps que vous m'avez accordé pour résoudre mes différents problèmes.
Encore un grand merci.
cela fonctionne très bien. En effet, [Microsoft Word xx.0 Object Library] n'était plus coché. Ayant déjà été cocher avant, cette fonction ne reste pas par défaut ?
Maintenant, je supose que si je créé d'autres boutons pour publiposter à partir d'une autre base, je complète votre protocole en reprenant votre base pour ajouter les boutons et en modifiant simplement les variables [docpub] et [nomfeuil] ?
Dernière question, connaissez vous également un site ou autre qui explique en détail et de facon complète le VBA car pour moi cela me semble complexe de savoir quoi et comment déclarer les varibles et surtout l'écriture à utiliser.
En tout cas je vous suis très reconnaissant pour toute l'aide et le temps que vous m'avez accordé pour résoudre mes différents problèmes.
Encore un grand merci.
Bonjour,
Merci pour l'information.
Pour une nouvel commande vous copier l'une des macros (par exemple [Bouton_Aera_Clic()]) vous modifier son nom [Sub Bouton_nouveau_Clic()] et vous modifier uniquement [docpub] et [nomfeuil] les 2 autres sont renseignées par les références du classeur de base.
Par contre j'ai un point qui n'est pas clair : pourquoi vous avez 2500 lignes avec des formules sur chacune des feuilles [Lie....] et pour les tableaux correspondants des feuilles [Liste Mat ...] il n'y a pas plus de 45 lignes ..... ?
A quoi doit servir les tableaux ?
Lien divers :
https://heureuxoli.developpez.com/office/word/vba-all/
http://boisgontierjacques.free.fr/
https://www.developpez.net/forums/
https://www.lecompagnon.info//demos/index.html
Merci pour l'information.
Pour une nouvel commande vous copier l'une des macros (par exemple [Bouton_Aera_Clic()]) vous modifier son nom [Sub Bouton_nouveau_Clic()] et vous modifier uniquement [docpub] et [nomfeuil] les 2 autres sont renseignées par les références du classeur de base.
Par contre j'ai un point qui n'est pas clair : pourquoi vous avez 2500 lignes avec des formules sur chacune des feuilles [Lie....] et pour les tableaux correspondants des feuilles [Liste Mat ...] il n'y a pas plus de 45 lignes ..... ?
A quoi doit servir les tableaux ?
Lien divers :
https://heureuxoli.developpez.com/office/word/vba-all/
http://boisgontierjacques.free.fr/
https://www.developpez.net/forums/
https://www.lecompagnon.info//demos/index.html
Bonjour,
j'ai 2500 lignes car je ne sais pas comment compléter automatiquement le tableau [Lien ...] lorsque je rentre des infos dans le tableau [Liste ...], dans j'ai étendu les formules sur un certain nombre de ligne dans [Lien...] qui est lié à [Liste].
Je suis en train d'optimiser mes classeurs :
- Avec un bouton que j'ai rajouté, j'ajoute une nouvelle ligne à la fin du tableau [Liste Matériel Aéra], cependant je n'arrive pas dans ma cellule Gx à glisser la formule de la cellule Gx-1. Aujourd'hui, j'arrive simplement à coller exactement la même formule et non pas à la lié à sa ligne. Je suis à l'aide de ce même bouton obliger d'étirer depuis ma première ligne de la feuille [Lien Aéra] sur toutes mes autre lignes de cette feuille pour être sûr d'avoir une suite cohérente de formule dans le cas d'ajout ou de suppression de ligne sur la feuille [Liste Matériel Aéra].
- Je réalise également un trie de A à Z avec un autre bouton en [Liste Matériel Aéra] qui par la même occasion supprime les doublons sur la feuille [LienAéra] pour éviter les répétitions lors du publipostage.
Auriez-vous une solution pour mon premier problème? Et y a t'il un moyen d'optimiser mes différents boutons?
Pour info, mes macros se situes dans le Module 2 du classeur [Nomenclature].
Dossier: https://www.cjoint.com/?BHqpB3elh7D
Cordialemnent.
j'ai 2500 lignes car je ne sais pas comment compléter automatiquement le tableau [Lien ...] lorsque je rentre des infos dans le tableau [Liste ...], dans j'ai étendu les formules sur un certain nombre de ligne dans [Lien...] qui est lié à [Liste].
Je suis en train d'optimiser mes classeurs :
- Avec un bouton que j'ai rajouté, j'ajoute une nouvelle ligne à la fin du tableau [Liste Matériel Aéra], cependant je n'arrive pas dans ma cellule Gx à glisser la formule de la cellule Gx-1. Aujourd'hui, j'arrive simplement à coller exactement la même formule et non pas à la lié à sa ligne. Je suis à l'aide de ce même bouton obliger d'étirer depuis ma première ligne de la feuille [Lien Aéra] sur toutes mes autre lignes de cette feuille pour être sûr d'avoir une suite cohérente de formule dans le cas d'ajout ou de suppression de ligne sur la feuille [Liste Matériel Aéra].
- Je réalise également un trie de A à Z avec un autre bouton en [Liste Matériel Aéra] qui par la même occasion supprime les doublons sur la feuille [LienAéra] pour éviter les répétitions lors du publipostage.
Auriez-vous une solution pour mon premier problème? Et y a t'il un moyen d'optimiser mes différents boutons?
Pour info, mes macros se situes dans le Module 2 du classeur [Nomenclature].
Dossier: https://www.cjoint.com/?BHqpB3elh7D
Cordialemnent.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Note, ajouter une ligne avec un bouton n'est vraiment pas une bonne idée.
Le comprends que les tableaux [lien..] sont là uniquement pour le publipostage ...Oui / Non ?
Avant d'entreprendre quelque chose, quelle est le but exact de vos 3 listes ?
Salutations.
Le Pingou
Note, ajouter une ligne avec un bouton n'est vraiment pas une bonne idée.
Le comprends que les tableaux [lien..] sont là uniquement pour le publipostage ...Oui / Non ?
Avant d'entreprendre quelque chose, quelle est le but exact de vos 3 listes ?
Salutations.
Le Pingou
Alors le tableau [Liste Matériel ...] est un tableau que nous devons fournir à nos clients et le tableau [Lien ...] permet en effet de regrouper les différentes informations pour le publipostage. Ces informations proviennent donc des classeurs [Liste Fournisseurs] et [Nomenclature].
Je souhaitais ajouter une ligne avec un bouton car j'ai, comme expliqué précédemment, un problème de formule qui ne se suis plus sur la feuille [Lien ...] lorsque j'ajoute ou que je supprime une ligne sur la feuille [Liste...].
Pour remédier à cela, j'ai donc créer (par mon manque de connaissance) ce bouton ou j'enregistré la macro qui ajoute une ligne en fin de tableau de la feuille [Liste Matériel ...] et qui étire ma formule sur les 2500 lignes de la feuille [Lien ...] afin que celle-ci se suivent bien.
Je n'aurais pas créer ce bouton si ce problème n'existait pas. Pour info, au final les feuilles [Lien ...] ne seront pas modifiables ni visibles par les utilisateurs de ces classeurs. C'est pour cela que je souhaitais modifier cette erreur par une suite d'action via le bouton.
Si des points ne sont pas encore assez clair pour vous, je me tiens à votre disposition.
Je souhaitais ajouter une ligne avec un bouton car j'ai, comme expliqué précédemment, un problème de formule qui ne se suis plus sur la feuille [Lien ...] lorsque j'ajoute ou que je supprime une ligne sur la feuille [Liste...].
Pour remédier à cela, j'ai donc créer (par mon manque de connaissance) ce bouton ou j'enregistré la macro qui ajoute une ligne en fin de tableau de la feuille [Liste Matériel ...] et qui étire ma formule sur les 2500 lignes de la feuille [Lien ...] afin que celle-ci se suivent bien.
Je n'aurais pas créer ce bouton si ce problème n'existait pas. Pour info, au final les feuilles [Lien ...] ne seront pas modifiables ni visibles par les utilisateurs de ces classeurs. C'est pour cela que je souhaitais modifier cette erreur par une suite d'action via le bouton.
Si des points ne sont pas encore assez clair pour vous, je me tiens à votre disposition.
Bonjour,
Merci, mais je ne vous demande pas comment vous faite mais plutôt ce que vous devez avoir comme résultat.
Le tableau est donc établi pour un client et vous l'enregistrez dans une archive et dans le même temps il sert pour établir la Fiche Technique pour DOE.
Ensuite on recommence avec un nouveau client.... !
Si c'est juste alors combien de ligne vous avez besoin par client .... Là est la question...
La solution est dépendante de tout cela.
Au passage, les 3 tableaux [Lien..] ne sont là que pour le publipostage alors on peut simplement se contenter d'un seul tableau qui sera établi uniquement lors de la commande de la Fiche Technique pour DOE..... Oui / Non ?
Merci, mais je ne vous demande pas comment vous faite mais plutôt ce que vous devez avoir comme résultat.
Le tableau est donc établi pour un client et vous l'enregistrez dans une archive et dans le même temps il sert pour établir la Fiche Technique pour DOE.
Ensuite on recommence avec un nouveau client.... !
Si c'est juste alors combien de ligne vous avez besoin par client .... Là est la question...
La solution est dépendante de tout cela.
Au passage, les 3 tableaux [Lien..] ne sont là que pour le publipostage alors on peut simplement se contenter d'un seul tableau qui sera établi uniquement lors de la commande de la Fiche Technique pour DOE..... Oui / Non ?
Alors pour répondre à vos questions,
Le tableau est donc établi pour un client et vous l'enregistrez dans une archive et dans le même temps il sert pour établir la Fiche Technique pour DOE.
Ensuite on recommence avec un nouveau client.... !
OUI
Si c'est juste alors combien de ligne vous avez besoin par client .... Là est la question..
Chaque document est variable. En fait il n'y a pas de nombre de ligne fixe, cela est variable en fonction du matériel que nous installons chez nos clients. Il peut y avoir 5 lignes comme 200 lignes (d'ou mes 2500 lignes pour être sûr d'avoir suffisamment de cellule avec les formules).
Au passage, les 3 tableaux [Lien..] ne sont là que pour le publipostage alors on peut simplement se contenter d'un seul tableau qui sera établi uniquement lors de la commande de la Fiche Technique pour DOE..... Oui / Non ?
Oui les 3 tableaux [Lien...] ne sont effectivement la que pour le publipostage.
Et il est vrai qu'il est possible d'avoir un seul tableau qui regroupe les 3 tableaux [Liste Matériel...]. Cependant dans ce tableau, l'aéraulique, l'hydraulique et la régulation ne doivent pas être mélangés et dans la cas ou j'ajoute un matériel dans le tableau [Liste Matériel Aéraulique], il faut que celui-ci se mette avant le premier matériel Hydraulique dans le tableau [Lien].
Donc pour faire le point, mon résultat est comme vous l'avez dit d'avoir 3 listes de matériels (Aéraulique, Hydraulique et Régulation) prenant en compte les répétitions de ligne. Les listes doivent être triées de A à Z puis incrémentées à l'aide de la formule que vous m'avez transmise dans un des ancien post résolu.
Ensuite on créé un fichier publipostage reprenant ces 3 listes en ne prenant pas en compte des répétitions (doublons).
Cela est-il assez clair ?
Cordialement.
Le tableau est donc établi pour un client et vous l'enregistrez dans une archive et dans le même temps il sert pour établir la Fiche Technique pour DOE.
Ensuite on recommence avec un nouveau client.... !
OUI
Si c'est juste alors combien de ligne vous avez besoin par client .... Là est la question..
Chaque document est variable. En fait il n'y a pas de nombre de ligne fixe, cela est variable en fonction du matériel que nous installons chez nos clients. Il peut y avoir 5 lignes comme 200 lignes (d'ou mes 2500 lignes pour être sûr d'avoir suffisamment de cellule avec les formules).
Au passage, les 3 tableaux [Lien..] ne sont là que pour le publipostage alors on peut simplement se contenter d'un seul tableau qui sera établi uniquement lors de la commande de la Fiche Technique pour DOE..... Oui / Non ?
Oui les 3 tableaux [Lien...] ne sont effectivement la que pour le publipostage.
Et il est vrai qu'il est possible d'avoir un seul tableau qui regroupe les 3 tableaux [Liste Matériel...]. Cependant dans ce tableau, l'aéraulique, l'hydraulique et la régulation ne doivent pas être mélangés et dans la cas ou j'ajoute un matériel dans le tableau [Liste Matériel Aéraulique], il faut que celui-ci se mette avant le premier matériel Hydraulique dans le tableau [Lien].
Donc pour faire le point, mon résultat est comme vous l'avez dit d'avoir 3 listes de matériels (Aéraulique, Hydraulique et Régulation) prenant en compte les répétitions de ligne. Les listes doivent être triées de A à Z puis incrémentées à l'aide de la formule que vous m'avez transmise dans un des ancien post résolu.
Ensuite on créé un fichier publipostage reprenant ces 3 listes en ne prenant pas en compte des répétitions (doublons).
Cela est-il assez clair ?
Cordialement.
Bonjour,
je ne sais que dire à par BRAVO et un GRAND MERCI pour tout ce que vous avez fait pour moi. Cela fonctionne très bien et répond exactement à ce que je souhaitais.
Encore merci
je ne sais que dire à par BRAVO et un GRAND MERCI pour tout ce que vous avez fait pour moi. Cela fonctionne très bien et répond exactement à ce que je souhaitais.
Encore merci
Petit souci, quand j'ai testé tout à l'heure, je n'est pas ouvert les fichiers publipostage Word, j'ai juste vérifié qu'ils s'ouvrait bien. En les ouvrant, je me suis aperçu que quand je fait le publipostage sur [Liste Matériel Aérau], cela fonctionne, mais qu'ensuite lorsque je lance depuis [Liste Matériel Hydrau], le publipostage s'ouvre mais le fichier word correspond à la [Liste Matériel Aérau].
Pour vérifier je suis allé sur la feuille [Lien publipostage] et la le tableau ce met bien à jour comme prévu.
Est-ce un bug de mon côté ? Car pour la commande "Sub Publipostage(nompubli, nombase, feuilbase, chemin)" vous n'avez rien modifier à par la msgBox et cela fonctionnait très bien avant.
Cordialement.
Pour vérifier je suis allé sur la feuille [Lien publipostage] et la le tableau ce met bien à jour comme prévu.
Est-ce un bug de mon côté ? Car pour la commande "Sub Publipostage(nompubli, nombase, feuilbase, chemin)" vous n'avez rien modifier à par la msgBox et cela fonctionnait très bien avant.
Cordialement.
Bonjour,
Ayant testé l'application avant de vous la transmettre je vous affirme que les 3 documents Word correspondent.
Vous m'expliquez ce que vous avez entrepris ....¨ !
Ayant testé l'application avant de vous la transmettre je vous affirme que les 3 documents Word correspondent.
Vous m'expliquez ce que vous avez entrepris ....¨ !
Bonjour,
Voici une copie du résultat de l'application que j'ai envoyé : https://www.cjoint.com/?3Hsp5UORAqB
Voici une copie du résultat de l'application que j'ai envoyé : https://www.cjoint.com/?3Hsp5UORAqB
Bonjour,
Petite information concernant les procédures trier A-Z et insérer-ligne, j'ai laissé vos procédures dans le module [Module2] de sorte que vous ayez une comparaison avec les 2 miennes [TrierB_AZ] et [ajoutligformu]
Petite information concernant les procédures trier A-Z et insérer-ligne, j'ai laissé vos procédures dans le module [Module2] de sorte que vous ayez une comparaison avec les 2 miennes [TrierB_AZ] et [ajoutligformu]
Bonjour,
alors j'ai extrait le zip dans un nouveau fichier sur mon bureau, j'ai activé Microsoft Word xx.0 Object Library et là, en cliquant sur les boutons pour Publipostage cela reste toujours sur le premier publipostage qui provient de la Régulation alors que j'appui sur le bouton Aéraulique. Mais pour rappel, le tableau Lien_Publipostage est bien mis à jour.
Je ne comprends pas car pour réessayé et réessayé, je supprime le fichier entier et je retourne sur votre lien pour recommencer la procédure et toujours la même chose.
Peut-être que quelque chose n'est encore pas activé dans mon Excel
alors j'ai extrait le zip dans un nouveau fichier sur mon bureau, j'ai activé Microsoft Word xx.0 Object Library et là, en cliquant sur les boutons pour Publipostage cela reste toujours sur le premier publipostage qui provient de la Régulation alors que j'appui sur le bouton Aéraulique. Mais pour rappel, le tableau Lien_Publipostage est bien mis à jour.
Je ne comprends pas car pour réessayé et réessayé, je supprime le fichier entier et je retourne sur votre lien pour recommencer la procédure et toujours la même chose.
Peut-être que quelque chose n'est encore pas activé dans mon Excel
Ci joint une petite vidéo reprenant ma démarche : https://www.cjoint.com/?BHsrl3yO2eP
Si cela peut vous aider.
Cordialement.
Si cela peut vous aider.
Cordialement.
Bonjour,
Merci pour la vidéo c'est super bien réalisé (chose que je ne sais pas faire).
Essayer encore une fois mais sans supprimer le document Word .... !
Merci pour la vidéo c'est super bien réalisé (chose que je ne sais pas faire).
Essayer encore une fois mais sans supprimer le document Word .... !
Bonsoir,
cela ne change rien, rejoignez moi vos fichiers, peut-être un beug lors du compressage ou de l'envoie (en espérant).
Pour la vidéo, c'est ici : https://www.commentcamarche.net/telecharger/photo-graphisme/5423-camstudio/
cela ne change rien, rejoignez moi vos fichiers, peut-être un beug lors du compressage ou de l'envoie (en espérant).
Pour la vidéo, c'est ici : https://www.commentcamarche.net/telecharger/photo-graphisme/5423-camstudio/
Bonjour,
Vous avez éveillé ma curiosité et j'ai cherché à réaliser une vidéo.
Voici le premier résultat http://dl.free.fr/getfile.pl?file=/FNBIEoKV
Vous avez éveillé ma curiosité et j'ai cherché à réaliser une vidéo.
Voici le premier résultat http://dl.free.fr/getfile.pl?file=/FNBIEoKV