Générer des courriers types word à partir d'excel

loulouange

XLDnaute Occasionnel
Bonsoir,

Je me permets de faire appel à vos compétences en Excel afin de savoir s'il est possible de créer dans un tableau excel comprenant une liste de personnes avec coordonnées, un bouton ou autre permettant d'ouvrir un document spécifique dans Word reprenant des éléments dans le tableau excel.

Etant donné que se sont des lettres personnalisées, il n'y pas de possibilité de faire un publipostage.

Jusqu'ici je n'ai pu qu'améliorer les lettres types en appliquant des champs, (je n'y connaissais rien avant).

Je sais qu'Excel propose de grandes possibilités mais je crains que ce que je demande nécessite une très bonne maîtrise d'Excel.

Ceci dit, si vous pensez que ma demande est réalisable, et s'il existe un tuto pas à pas ou si vous pouviez m'expliquer au moins pour un exemple, je pourrais tenter de comprendre le fonctionnement des macros.

Pour vous permettre de mieux cerner ma demande, je vous mets en pièce jointe un tableau et deux exemples de lettres types, une pour absence injustifiée (AI) et l'autre pour absence justifiée (AJ).

Le tableau est exhaustif, d'autres lettres types et documents existent, le but étant de pouvoir en cliquant sur un bouton (dans chaque colonne sur chaque ligne ??) de générer le document et de reprendre l'adresse du destinataire.

Je vous remercie par avance pour vos suggestions et conseils qui me seront bien précieux.
 

Pièces jointes

  • données sources.xls
    29.5 KB · Affichages: 247
  • Convov2 suite à AJ avec rdv ateliers.docx
    152 KB · Affichages: 230
  • Convov2 suite à AI avec rdv ateliers.docx
    154.9 KB · Affichages: 171
  • Convov2 suite à AJ avec rdv ateliers.docx
    152 KB · Affichages: 225
  • Convov2 suite à AI avec rdv ateliers.docx
    154.9 KB · Affichages: 179
  • Convov2 suite à AJ avec rdv ateliers.docx
    152 KB · Affichages: 225
  • Convov2 suite à AI avec rdv ateliers.docx
    154.9 KB · Affichages: 179

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Bonjour Loulou,

Pour les décalages entre la Base et les autres feuilles, aussi bien avec Change qu'avec Avtivate, il n'y a pas de problème si seulement certaines lignes ou colonnes sont recopiées, il faut juste renvoyer les données que l'on veut sauvegarder dans Base ou récupérer dans les feuilles. Les données sont réaffectées avec l'Id.

Pour la commande Application.WorksheetFunction. il suffit de mettre dans une cellule la formule que tu souhaites utliser en enregistrant une macro, ensuite tu ajoutes dans ta "vrai" macro, le résultat de ta macro (formule) après Application.WorksheetFunction., cela peut donner c = Application.WorksheetFunction.SUM(R[-3]C:R[-1]C)

A+
Martial
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

Bonjour Martial, Le forum,

Désolée pour cette longue absence, j'ai eu de grosses galères avec mon pc, toujours cette histoire de curseur incontrôlable qui est toujours là par moment, mais je devrais changer de clavier d'ici peu (en espérant que cela soit bien l'origine du problème).

Je te remercie pour tes explications, j'ai cherché à comprendre et je dois être vraiment nulle :eek:( et vraiment désolée car je sais que tu passes du temps à m'expliquer les choses.

[Quote/] Il suffit de mettre dans une cellule la formule que tu souhaites utiliser en enregistrant une macro,[Quote/] [Quote/]

Tu veux dire quand je rentre une formule dans une cellule comme ici :

Code:
SI(ESTVIDE(P7e);"";FIN.nMOIS(P7;-1))

mais je ne comprends pas "en enregistrant une macro" ?

et lorsque tu parles de "vrai macro" c'est la ligne qui est rajoutée dans le code de la feuille ?

Sinon, je me permets de te demander encore de l'aide si tu veux bien.

Je me suis rendue compte que lorsque je mettais un format dans une cellule, par exemple dans la feuille Affectation si je mets un commentaire « info bulle » , un changement de couleur de la cellule ou de la police, lorsque je rafraichis la feuille cela disparait. Y a til un moyen pour conserver le format ?

Je te remercie d'avance pour l'aide que tu pourras m'apporter.

A te relire.

Loulou
 

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Bonjour Loulou,

Ça faisait longtemps ;), j'avais eu un problème de ce type là, mon curseur se mettait dans un angle de l'écran, le problème a été réglé en changeant la souris.

Je voulais dire que pour savoir comment écrire une formule dans VBA, tu lances l'enregistreur de macro puis tu écris ta formule dans une cellule, tu arrêtes l'enregistreur de macro et tu analyses ta macro. Il y a souvent (même à chaque fois) à modifier derrière mais ça donne la base.

Pour le commentaire et les couleurs, il est normal que ceux-ci soient supprimés car toutes les données sont supprimées avec l'activation de la feuille, puis recréées en fonction de la feuille Base.

Par contre, pour les couleurs tu peux peut-être mettre des Mise en Forme Conditionnelle ?

A+
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

Bonjour Martial,

Je croise les doigts pour l'instant pas de bug depuis ce matin alors qu'hier j'aurais bien balancer mon pc par la fenêtre.

Ok je comprends mieux pour la macro enregistrée, je l'avais testée pour le tri alphabétique au tout début mais quand on connait mieux le vba ça raccourcit drolement les lignes :eek:

Alors pour l'histoire des commentaires, couleurs etc... j'en profite pour revenir à ce que tu m'avais répondu dans ton précédent post.

Pour les décalages entre la Base et les autres feuilles, aussi bien avec Change qu'avec Avtivate, il n'y a pas de problème si seulement certaines lignes ou colonnes sont recopiées, il faut juste renvoyer les données que l'on veut sauvegarder dans Base ou récupérer dans les feuilles. Les données sont réaffectées avec l'Id.

Par exemple dans ma feuille "suivi" les colonnes de A à E sont récupérées à partir de la base, donc j'ai fait un activate et un change à ce niveau.

Les colonnes qui suivent sont remplies manuellement dans la feuille "suivi" puis renvoyées dans la feuille "Base".

Par contre si je ne fais pas le renvoie inverse, c'est à dire de "Base" vers "Suivi" pour ces colonnes, tout ce que j'ai saisi dans la feuille "Suivi" disparaît.

S'il n'était pas utile de renvoyer dans base pour ces colonnes, peut être que ça résoudrait le problème pour mes info bulles dans les cellules.

Autrement y a t'il un autre moyen pour conserver la mise en forme.

Pour les couleurs, je pourrais passer par le menu mise en forme conditionnelle mais ça va etre fastidieux car tous les jours je dois appliquer une couleur différences selon la situation de la personne par exemple.

1 : lorsqu'une personne est absente à un atelier, j'inscrit dans la correspondante au jour "AI"

2 : j'informe le conseiller de l'absence par mail et je mets ensuite "AI" en rouge pour que l'on sache que le conseiller a été averti.

3 : dès retour du conseiller pour savoir quoi faire : j'applique une couleur verte ou jaune dans la cellule selon si une relance a été envoyée ou pas.

Cela à l'air un peu compliqué (nous sommes deux à gérer les dossiers) mais pour l'instant je n'ai trouvé que ce système.

Voila si tu as une idée, j'espère que j'ai été assez claire.

A te relire.

Loulou
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Pour les commentaires, il faut peut-être faire un copier/coller avec les cellules, il me semble que le commentaire est conservé, le problème est que la couleur sera également conservé et il me semble que lorsque l'on trie les valeurs sont déplacées mais pas les couleurs.

A+
 
Dernière édition:

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

re,
en effet ta proposition de une une mfc en changeant les termes "texte" dans les cellules pourraient être la solution. Mais comment mettre cette mfc sur toute la feuille ?

pour l'histoire des commentaires, je parle de ceux que j'insère quand je fait un clic droit souris, à l'activation de la feuille, ces derniers se décalent deux lignes plus bas, donc là je ne sais pas ce qui pourrait corriger cela.


désolée pour les fautes je ne peux pas revenir en arrière.

A+
 
Dernière édition:

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

Bonjour Martial, le forum,

Enfin j'ai mon nouveau clavier et tout fonctionne à présent !!

Je ne sais pas si tu as pu te pencher sur mon problème, mais bon si ce n'est pas possible je vais essayer de trouver de faire autrement.

Sinon j'ai un soucis avec une formule , je voudrais qu'une croix s'affiche dans la cellule si les colonnes de C à F par exemple ne sont pas remplies (texte).

J'ai bien ma croix quand c'est le cas mais si une donnée est insérée j'ai dans ma cellule "FAUX", or normalement dans formule je demande de ne rien mettre non ?

voici ma formule :

Code:
 =SI(ESTVIDE(C5);SI(ESTVIDE(D5);SI(ESTVIDE(E5);SI(ESTVIDE(F5);"X";""))))

A te relire.

Loulou
 

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

En fait, dans ta formule, tu ne mettais le "" que sur ta dernière condition.
Si tu ne remplissais que ta cellule F5 tu ne dois rien avoir en G5, par contre si tu remplies une autre de tes cellules ça doit mettre FAUX.
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

merci Martial pour ton explication, et j'ai bien compris mon erreur.

j'avance sur mon fichier et je pense qu'il sera bientôt totalement fonctionnel.

Pour l'histoire des problèmes avec les commentaires, j'ai crée une feuille supplémentaire qui permettra de savoir les dates d'envoi et autres, évitant ainsi de mettre des infos bulles sur la feuille "affectation". Pour les couleurs je ne sais pas encore, cela concerne la feuille suivi présences ateliers, je pense peut etre mettre une MFC en tete de colonne pour chaque date du jour, ainsi dès que les absences du jour sont traitées je mets une croix qui colore toute la colonne.

Là je bosse sur les formulaires avec le boutons useform, j'essaye de le reprendre, je commence à comprendre le processus, mise en forme etc.. j'ai travaillé à partir de ton bouton que tu avais fait sur la feuille1 à la fin du tableau, et je voulais en fait recopier le bouton sur la feuille2 en en tete de la colonne G, avec les mes menus etc mais pas moyen, quand je clique dessus rien ne se passe. J'ai fait juste un copier coller du bouton qui était sur la feuille1 sur la feuille2, mais je ne sais pas comment savoir si l'useform est affecté ou pas.
De plus , j'ai voulu mettre un ascenseur car le formulaire est trop grand mais la barre est là mais pas moyen de descendre ou monter.

Je me permet de te joindre un exemple qui sera plus parlant.

Encore merci à toi.

A te relire.

Loulou
 

Pièces jointes

  • suivi ateliers avec ID - test bouton useform.xlsm
    834.9 KB · Affichages: 45
  • suivi ateliers avec ID - test bouton useform.xlsm
    834.9 KB · Affichages: 45
  • suivi ateliers avec ID - test bouton useform.xlsm
    834.9 KB · Affichages: 45

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Re,

Pour le bouton, il faut également copier la macro de la feuille :
VB:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
En s'assurant que le bouton a bien le même nom que celui-ci de la feuille 1.

Pour les Scroll de l'UserForm, il faut mettre des valeurs dans ScrollHeight pour la hauteur, et rajouter une macro _Activate pour se caler en haut de l'UserForm. (vois le fichier ci-joint)

A+

Martial
 

Pièces jointes

  • suivi ateliers avec ID - test bouton useform.xlsm
    853.1 KB · Affichages: 48
  • suivi ateliers avec ID - test bouton useform.xlsm
    853.1 KB · Affichages: 45
  • suivi ateliers avec ID - test bouton useform.xlsm
    853.1 KB · Affichages: 46

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

Bonsoir Martial,

Merci infiniment pour ta rapide réponse et pour ton travail, je suis ravie d'en apprendre tous les jours davantage o)

J'ai donc fait des essais avec un des modèles de formulaire, mais hélas je rencontre encore des problèmes, j'ai tenté de comprendre avant de venir à nouveau t'ennuyer mais j'ai cherché je ne sais pas d'où vient le problème.

Tout d'abord mon formulaire est au format word avec prise en charge macros.

J'ai donc pris soins d'enlever dans la menu "REVISION" la protection du document.
Ensuite j'ai insérer les signets.

Mais lorsque je fais le lancement de la fusion via le menu de l'useform, j'ai soit un message d'erreur à la ligne suivante qui se met en jaune :

Code:
 .Bookmarks("Signet" & i).Range = ListBox1.Column(i - 1)

soit ça se bloque et je ne peux plus rien faire.

Il y a une chose que je ne comprends pas car le bouton useform dans la feuille "affectation" se base apparemment sur les colonnes de cette même feuille, or je voulais que cela soient celles de la feuille active "FO reçues", je pensais qu'en recopiant le bouton de la feuille active vers "affectation" cela reprenait exactement les mêmes données.

Je te remets ici le fichiers excel avec un modèle word dans lequel j'ai inséré les signets et mis en texte les numéros pour que tu puisses t'y retrouver.

Dans l'useform c'esT le premier bouton ADS Cevennes la Rébés


Dans l'attente de te lire.

Loulou
 

Pièces jointes

  • suivi ateliers avec ID - test bouton useform ok.xlsm
    850.6 KB · Affichages: 54

Yaloo

XLDnaute Barbatruc
Re : Générer des courriers types word à partir d'excel

Bonsoir Loulou,

Il me semble qu'il nous manque le fichier Word, non :confused:
Sinon, pour prendre les données de la feuille "F.O. reçues" dans l'initialisation de l'UserForm il faut mettre :

VB:
Plage = Feuil1.Range("C3:U" & Feuil1.[A65536].End(xlUp).Row)

A+
 

loulouange

XLDnaute Occasionnel
Re : Générer des courriers types word à partir d'excel

oups désolée je ne comprends pas je l'avais pourtant mis,le revoici

je vais tester ta ligne merci à toi.

bon je ne sais pas, c'est noté fichier invalide, c'est une extension docm. je vais le mettre en mode normal mais je vais perdre la macro.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 102
Messages
2 116 222
Membres
112 690
dernier inscrit
noureddinee