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   -
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



A voir également:

51 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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.
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
J'allais oublier, merci pour les liens. Je vais y regarder de près.
0

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

Posez votre question
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 ?

0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je vous laisse la découverte : https://www.cjoint.com/?3HrxnkXiTSF
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Merci, de rien.
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 ....¨ !
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Voici une copie du résultat de l'application que j'ai envoyé : https://www.cjoint.com/?3Hsp5UORAqB
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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]

0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
Ci joint une petite vidéo reprenant ma démarche : https://www.cjoint.com/?BHsrl3yO2eP

Si cela peut vous aider.

Cordialement.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 .... !
0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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/
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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

0
nicodu072 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
En effet, cela fonctionne très bien chez vous. Je vais être obligé de vous demander de venir travailler chez nous ;-).
Je vois que vous travaillez avec Office 2010, je travaille avec 2007. Cela peut-il avoir une incidence ?
Pensez à me renvoyer votre fichier pour voir svp.

Cordialement.
0