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

Yaloo

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

Bonjour Loulou,

Quand les demandeurs sont aussi agréables que toi, cela ne pose pas de problème aux répondants d'aider ;)

Le code pour l'enregistrement sans vba a été créé, je pense, pour des fichiers .xls qui peuvent être avec ou sans macro.
Si quelqu'un souhaite enregistrer un fichier .xls contenant des macros avec seulement les données, cette macro est intéressante.

Pour les fusions de cellules, j'ai remarqué que cela posait des problèmes avec certains codes. Si d'après tes tests, il n'y a pas de problèmes tu peux les laisser.

A+

Martial
 

loulouange

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

Bonsoir Martial, le forum,

Quand les demandeurs sont aussi agréables que toi, cela ne pose pas de problème aux répondants d'aider
Ah ben ça c'est gentil, je te retourne le compliment :)

Je m'y perds un peu avec tous ces formats, j'ai essayé en sauvegardant au format .xls, je n'ai pas vu de différence, j'ai en effet toujours les macros mais à l'activation des feuilles elles se rafraichissent toujours, c'est lié au vba non ? à moins que ça soit avec la macro, j'avoue ne pas trop faire la distinction, car les macros sont programmées avec des codes vba ?

Sinon et bien je vais encore t'embêter, mais voila mon nouveau problème : tu m'avais réalisé ce code pour automatiser une formule dans la feuille1 :
Code:
 [AD3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C28:RC28=""X""))>1,""1"",""""))"
  [AD3].AutoFill Destination:=[AD3:AE3], Type:=xlFillDefault
  [AD3:AE3].AutoFill Destination:=Range("AD3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
End With
Application.DisplayAlerts = -1: Application.EnableEvents = -1
End Sub
je viens de m'apercevoir que le calcul dans la colonne AE ne fonctionnait pas.

Cellule AD :
Code:
=SI(AB3="";"";SI(SOMMEPROD(($D$3:$D3=$D3)*($E$3:$E3=$E3)*($AB$3:$AB3="X"))>1;"1";""))
Cellule AE (celle qui ne fonctionne pas) :
Code:
=SI(AC3="";"";SI(SOMMEPROD(($D$3:$D3=$D3)*($E$3:$E3=$E3)*($AB$3:$AB3="X"))>1;"1";""))
Je pense que c'est parce qu'il faut mettre ($AC$3:$AC3="X") à la place de "($AB$3:$AB3="X"))>"

mais je ne sais pas trop comment le modifier dans le code vba.

Voila pour mon soucis du jour.

A te relire.

Loulou
 
Dernière édition:

Yaloo

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

Bonsoir Loulou,

Pour les formats Excel, jusqu'à la version 2003, Excel n'avait qu'une extension xls, dans ces fichiers, il était (est) possible d'enregistrer des fichiers avec ou sans macro.
A partir de la version 2007, Microsoft a créé 2 extensions possible xlsx et xlsm, xlsx pour les fichiers sans macro et xlsm pour les fichiers contenant des macros et UserForm.
Donc si tu enregistres un fichier xlsx en xls, le fichier ne comportera pas de macro. Au contraire, si tu enregistres un fichier xlsm en xls celui-ci gardera les macros existantes dans le fichier xlsm.
C'est pour cette raison que lorsque tu m'as demandé pour enregistrer ton fichier xlsm (avec macro) sans garder les macros, je t'ai proposé d'enregistrer en xlsx (sans macro).

Pour la formule, le système R1C1, R correspond à la ligne (Row) et C correspond à la colonne (Column).
Ta formule pour la colonne AE doit être :
[AE3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C29:RC29=""X""))>1,""1"",""""))"
Je n'ai pas testé, car pas ton fichier sous la main, mais ça devrait le faire.

A+

Martial
 

loulouange

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

Bonjour Martial, le forum,

Merci pour tes explications, j'étais curieuse de savoir la différence, mais le format .xlsx est parfait !

J'ai réussi à rentrer ton code, j'ai eu des messages d'erreur au début mais ça semble fonctionner, je te le met ci-dessous pour vérifier si j'ai bien fait :

Code:
[AD3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C28:RC28=""X""))>1,""1"",""""))"
[AD3].AutoFill Destination:=[AD3:AD300], Type:=xlFillDefault
  [AD3].AutoFill Destination:=Range("AD3:AD" & [A65536].End(3).Row), Type:=xlFillDefault
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
[AE3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5= RC5)*(R3C29:RC29=""X""))>1,""1"",""""))"
[AE3].AutoFill Destination:=[AE3:AE300], Type:=xlFillDefault
[AE3].AutoFill Destination:=Range("AE3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
End With
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
End With
Application.DisplayAlerts = -1: Application.EnableEvents = -1
End Sub
au début j'avais noté sur cette ligne :
Code:
[AD3].AutoFill Destination:=[AD3:AD], Type:=xlFillDefault
mais j'avais un message j'ai donc rajouté '300' ce qui donne :
Code:
[AD3].AutoFill Destination:=[AD3:AD300], Type:=xlFillDefault

J'aimerais revenir sur un problème, j'en avait parlé il y a un moment de ça dans un des précédents posts, mais je ne sais pas si tu avais compris ma demande ou bien si c'était parce qu'il n'y avait pas de solution.

En fait, je voulais savoir pourquoi on ne peux plus annuler la dernière modification, soit avec CTRL+Z soit avec le menu en haut la fleche vers la gauche. Même si je n'ai pas rafraichi la feuille je ne peux pas le faire, c'est embétant j'ai eu ce problème ce matin encore, sur la feuille1 par exemple j'ai mis à jour des données, j'ai noté les dates de naissances et à un moment je me suis trompée de ligne donc j'ai effacé la date de quelqu'un d'autre et je ne sais plus ce que c'était. c'est un exemple mais je ne suis pas la seule à utiliser ce tableau et c'est une fonction qui manque.

Encore merci pour ta précieuse aide.

A te relire.

Loulou
 

Yaloo

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

Bonsoir Loulou,

Merci pour tes explications, j'étais curieuse de savoir la différence, mais le format .xlsx est parfait !
Les différences entre les fixhiers xls et xlsx ou xlsm ne s'arrêtent pas là, il y a aussi un nombre de cellule plus important par onglet aussi bien en nb de ligne que de colonne, le poids des fichiers, pour le même fichier, celui enregistré en xls sera plus important (en poids) que le même fichier en xlsx ou xlsm, j'en oublie bien d'autre.

Code:
[AD3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C28:RC28=""X""))>1,""1"",""""))"
[AD3].AutoFill Destination:=[AD3:AD300], Type:=xlFillDefault
  [AD3].AutoFill Destination:=Range("AD3:AD" & [A65536].End(3).Row), Type:=xlFillDefault
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
[AE3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5= RC5)*(R3C29:RC29=""X""))>1,""1"",""""))"
[AE3].AutoFill Destination:=[AE3:AE300], Type:=xlFillDefault
[AE3].AutoFill Destination:=Range("AE3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
End With
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
End With
Application.DisplayAlerts = -1: Application.EnableEvents = -1
End Sub
Peut-être peux-tu supprimer le premier bloc contenant
Code:
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
tu peux aussi remplacer 2 lignes par une seule
Code:
[AD3:AE3].AutoFill Destination:=Range("AD3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
A tester, je ne l'ai testé, en gros, cela devrait donner ça :
Code:
[AD3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C28:RC28=""X""))>1,""1"",""""))"
[AE3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5= RC5)*(R3C29:RC29=""X""))>1,""1"",""""))"
[AD3:AE3].AutoFill Destination:=Range("AD3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
With Application
  .DisplayAlerts = -1
  .EnableEvents = -1
  .Calculate
End With
End Sub
Pour résumé, les 2 premières lignes pour copier tes formules en AD3 et AE3, la ligne suivante pour étendre les formules dans les cellules du dessous (les 2 colonnes en même temps, tu gagnes du temps), remise en fonction de DisplayAlerts et EnableEvents puis Calcul.

J'aimerais revenir sur un problème, j'en avait parlé il y a un moment de ça dans un des précédents posts, mais je ne sais pas si tu avais compris ma demande ou bien si c'était parce qu'il n'y avait pas de solution.

En fait, je voulais savoir pourquoi on ne peux plus annuler la dernière modification, soit avec CTRL+Z soit avec le menu en haut la fleche vers la gauche. Même si je n'ai pas rafraichi la feuille je ne peux pas le faire, c'est embétant j'ai eu ce problème ce matin encore, sur la feuille1 par exemple j'ai mis à jour des données, j'ai noté les dates de naissances et à un moment je me suis trompée de ligne donc j'ai effacé la date de quelqu'un d'autre et je ne sais plus ce que c'était. c'est un exemple mais je ne suis pas la seule à utiliser ce tableau et c'est une fonction qui manque.
A ma connaissance, ce n'est pas faisable, car les manipulations faites par macro ne sont pas enregistrées. Dans ton fichier, il y a beaucoup de macros événementielles (qui se lancent suivant une action, Change(), Activate() etc...). Les macros se lancent dès que tu saisies une donnée dans une feuille, donc tu n'as plus accès au "retour en arrière" (Ctrl+Z).

A te relire

Martial
 

loulouange

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

Bonjour Martial, le forum,

J'ai comparé mon fichier .xlsm et ensuite celui .xlsx je pensais voir une grande différence en poids mais le premier fait 4,73 mo et 4,64 mo pour le deuxième !! Mais là où je suis surprise c'est la différence entre la fois où tu avais repris le fichier pour l'alléger tu avais réussi à le réduire en poids à 1,33 mo !!

Donc du coup je l'ai repris et fait une mise à jour avec mes données actuelles, en remettant les codes à jour etc... et là je retombe à

1,47 mo pour le format Xlsm et 1,38 mo pour le format xlsx c'est déja beaucoup mieux :eek:

Je ne sais pas comment j'ai fait mon compte mais il va falloir que je fasse attention.

tester, je ne l'ai testé, en gros, cela devrait donner ça :
Code :
[AD3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5=RC5)*(R3C28:RC28=""X""))>1,""1"",""""))"
[AE3].FormulaR1C1 = "=IF(RC[-2]="""","""",IF(SUMPRODUCT((R3C4:RC4=RC4)*(R3C5:RC5= RC5)*(R3C29:RC29=""X""))>1,""1"",""""))"
[AD3:AE3].AutoFill Destination:=Range("AD3:AE" & [A65536].End(3).Row), Type:=xlFillDefault
With Application
.DisplayAlerts = -1
.EnableEvents = -1
.Calculate
End With
End Sub
Ca fonctionne !! donc la ligne suivante n'est pas indispensable ?

Code:
Application.DisplayAlerts = -1: Application.EnableEvents = -1
A ma connaissance, ce n'est pas faisable, car les manipulations faites par macro ne sont pas enregistrées. Dans ton fichier, il y a beaucoup de macros événementielles (qui se lancent suivant une action, Change(), Activate() etc...). Les macros se lancent dès que tu saisies une donnée dans une feuille, donc tu n'as plus accès au "retour en arrière" (Ctrl+Z).
Dommage, ça aurait été trop beau, mais on peut pas tout avoir n'est ce pas ! ;)
Toute fois j'ai vu ce code sur un post, n'est il pas possible au moins d'annuler la dernière action ?

Code:
Sub Annuler()
Application.Undo
End Sub
Merci d'avance pour ton aide;

A te relire.

Loulou
 

loulouange

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

coucou c'est encore moi !

je me demandais pour la question du poids du fichier si cela ne venait pas des mises en forme conditionnelles ? en fait je ne sais pas comment c'est arrivé mais pour chaque feuille je me retrouve avec une centaines de règles ?? donc j'ai commencé à éliminer celles d'une des feuilles et cela a été très long car j'ai du le faire une à une ... je voulais savoir si on pouvait les sélectionner par nombre et les supprimer ensuite ?
 

Yaloo

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

Bonjour Loulou,

Application.DisplayAlerts = -1: Application.EnableEvents = -1
tu peux supprimer cette ligne.
Pour le poids, je penche plutôt pour des cellules non supprimées.

As-tu testé la macro avec undo ? Est-ce que ça fonctionne ?

Pour les mises en formes conditionnelles, ça doit bien pesé un peu, mais de là à rajouter 3 Mo, ça ma parait beaucoup.

A+
 

loulouange

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

Bonjour Martial, le forum,

J'en conclue donc qu'il n'y pas d'autres solutions que de supprimer les MFC une à une, dommage, c'est long mais bon j'arrive bientôt au bout...

et en effet, j'ai regardé pour l'instant pas grande différence de poids avant/après.

J' ai tout vérifié, il y avait encore pas mal de lignes et colonnes vides, je ne sais pas comme j'ai fait??, enfin je suis arrivée à 1,52 mo c'est déjà beaucoup mieux ;).

Pour ce qui concerne la macro undo, je l'avais testée en la mettant dans un module contenant juste ces lignes, exécutée donc à partir d'un bouton mais je ne sais pas si c'était la bonne méthode en tout cas ça ne fonctionne pas. J'ai bien l'impression que c'est mission impossible.

A te relire.

Loulou
 

Yaloo

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

Bonjour Loulou,

Pour la fonction Undo, il ne me semble pas que cela fonctionne pour une action effectuée par macro.

Pour les MFC, tu peux supprimer tout d'un coup, en utilisant la commande "Effacer les règles" du combo "Mise en forme conditionnelle", mais tu ne peux pas en supprimer seulement quelques unes. C'est soit tout d'un coup soit une par une.

Pour la "suppression" des cellules vides, il faut que je regarde.

A+

Martial
 

loulouange

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

Bonjour Martial, le forum,

Je reviens sur la MFC, j'ai vu l'option "Effacer les règles", je voulais savoir si je pouvais ensuite recopier les régles de la feuille1 sur les autres feuilles ? évitant ainsi de tout reprendre à chaque fois.

A te relire.

Loulou
 

Yaloo

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

Bonsoir Loulou,

Il ne me semble pas que ce soit faisable avec juste un copier/coller. Une macro doit pouvoir le faire, mais le temps de créer la macro doit être plus long que de faire les MFC manuellement (sauf bien sûr si tu as beaucoup beaucoup de MFC)
A+
Martial
 

loulouange

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

Bonjour Martial,

Ok alors il vaut mieux que je le fasse manuellement effectivement, je supprime les MFC en trop progressivement c'est pas bien gênant.

Je n'ai pour une fois pas de question à te poser :eek: grâce aux bases que tu m'as transmises j'arrive à manipuler mon fichier en comprenant à présent le fonctionnement et en évitant surtout de refaire certaines erreurs.

Encore merci à toi.

Je reviendrais surement te voir.

A +

Loulou
 
Dernière édition:

loulouange

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

Bonsoir le forum, bonsoir Martial,

Ca faisait longtemps ... je savais bien que je reviendrais vous voir.

J'ai attendu un moment avant de revenir ici espérant trouver la solution à mon problème qui reste une énigme pour moi.

Cela concerne toujours mon fameux fichier qui me rend bien service tous les jours. Mais il y a un "bug" qui se produit de temps en temps et qui cause toujours le même problème, je m'explique :

dans la première feuille "F.O. reçues", il arrive parfois que les données dans la cellule F qui concerne les codes postaux sautent, ou bien je trouve des données qui ne correspondent pas. Heureusement que j e fais une sauvegarde régulièrement ce qui me permet de remettre les infos à jour.

J'ai regardé dans tous les codes vba s'il y avait une erreur dans le renvoie des cellules mais je n'ai rien trouvé.
J'ai l'impression que cela survient lorsque que des infos sont rentrées dans la feuille "Pré. Ateliers", lorsque l'on renseigne les présences , est il possible que cela soit du au fait qu'un tri est fait avant la saisie ? Je pense aussi à cette feuille car j'ai vu parfois dans la colonne code postale par exemple "10h" : info que l'on trouve dans la feuille présence atelier mais ce que je ne comprend pas c'est que cette ligne n'est pas normalement prise en compte dans le renvoi des données.

Je joins le fichier ici, peut être aurez-vous plus de chance que moi pour déceler l'origine du problème, voici le lien :
suivi atelier mai 2014.xlsm - Fichier XLS

J'avais une autre question que j'avais depuis un moment en tête :

Par exemple dans le code de la feuille1 cela commence ainsi :

Code:
Private Sub Worksheet_Change(ByVal Target As Range
Application.DisplayAlerts = 0: Application.EnableEvents = 0
i = Target.Row
'Récupération de l'Identifiant de la ligne modifiée
Id = Cells(i, 1)
  'On met en majuscule ou en nom propre les colonnes D, E, F, G et I
  Cells(i, 4) = StrConv(Cells(i, 4), 1)
  Cells(i, 5) = StrConv(Cells(i, 5), 3)
  Cells(i, 6) = StrConv(Cells(i, 6), 3)
  Cells(i, 7) = StrConv(Cells(i, 7), 3)
  Cells(i, 9) = StrConv(Cells(i, 9), 1)
Pourquoi doit-on mettre 'StrConv' et que signifie le chiffre 1 ou 3 juste avant la parenthèse de fin ?

Merci pour votre aide.
 

Staple1600

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

Bonsoir à tous

loulouange
Pourquoi doit-on mettre 'StrConv' et que signifie le chiffre 1 ou 3 juste avant la parenthèse de fin ?
Le début de la réponse est dans le commentaire
'On met en majuscule ou en nom propre les colonnes
Et la suite dans l'aide en ligne de VBA (accessible avec les touches ALT+F11 puis F1)
Si tu ne sais plus ou est ta touche F1, tu peux alors aller lire les mêmes infos de l'aide à propos de StrConv (ou presque) ci-dessous:
StrConv, fonction
 

Yaloo

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

Bonjour Loulou :), Staple :D, tout le monde,

J'ai regardé le fichier mais n'arrive pas à reproduire ton "bug", sans ça, difficile de le solutionner.

Pour StrConv, Staple a répondu, mais tu aurais pu le trouver toi-même ;)

A+

Martial
 

loulouange

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

Bonjour Staple, Martial, le forum,

Staple : je te remercie pour ta réponse et ton lien que je suis allée consulter. J'avais bien compris que c'était une histoire de mettre en majuscule les données saisies dans certaines colonnes mais je ne comprenais pas pourquoi il y a des cellules avec chiffres qui sont concernées, dans mon cas :

NOM - Prénom - CP (code postal) - Adresse1 - téléphone

Mais maintenant que j'analyse mon tableau, l'erreur vient de moi car entre temps j'avais changé l'ordre de la colonne CP ce qui du coup fait que les numéros de cellules ne correspondent plus dans le code.

Pour l'histoire des 1 et 3 j'ai pu trouver l'explication dans ce lien :

StrConv, fonction - Access

Je comprends maintenant pourquoi dans la colonne Adresse1 les premières lettres de chaque mot se mettaient en majuscules, je devais à chaque fois tout remettre manuellement en minuscule dans la feuille "base".

Martial : je te remercie de t'être penché sur le tableau, de mon coté pour l'instant je n'ai pas non plus eu de bug, je vais essayer de vérifier tous les jours afin de savoir exactement à quel moment cela se produit, c'est un peu compliqué car je ne suis pas la seule à l’utiliser.

Ceci dit, je me demandais si mon problème n'était pas lié justement au constat fait plus haut avec strconv ?

Désolée de ne pas avoir trouvé la réponse par moi même, pourtant j'utilise beaucoup google et le forum par contre la touche F1 j'avoue beaucoup moins car j'ai toujours du mal à tout saisir, j'ai besoin de cas concrets pour comprendre :eek: ce n'est pas de la mauvaise volonté je vous assure.

Encore merci pour votre disponibilité.

A+

Loulou
 

loulouange

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

Bonsoir,

Je viens encore vous embêter, je sens que je vais me faire gronder :eek:

Cela concerne la macro que j'avais mis sur une des feuilles afin de faire une copie de celle-ci vers un autre classeur.

Elle s’exécute via un bouton, j'arrive à mon résultat mais j'ai à chaque fois un message d'erreur :

Je vous mets le code du bouton :

Code:
Sub CopierFeuilleValSeulesNoVBA()
Dim WbkCopy As Workbook
Sheets("typo").Copy
Set WbkCopy = ActiveWorkbook
With WbkCopy
   With .ActiveSheet
    .UsedRange.Value = .UsedRange.Value
   End With
   Application.DisplayAlerts = False
   .SaveAs "c:\lou\typotest.xlsx", xlOpenXMLWorkbook
   End With
End Sub
Donc j'ouvre mon fichier suivi atelier, sur l'onglet typo lorsque je clique sur le bouton j'ai une fenêtre qui s'affiche avec "erreur d’exécution '9'
Je clique donc sur "débogage" , j'arrive sur la feuille suivante ayant pour titre :

"Microsoft Visual Basic" Classeur1 [arrêt] - [Feuille6 (code)]

Dans la partie Private Sub Worksheet_Activate() j'ai en en jaune With Sheets("Base")

Donc je ferme cette page et je me retrouve sur mon tableau source, je vois qu'un classeur a été crée "classeur1" or normalement c'est un fichier nommé typotest qui doit s'ouvrir. Je referme donc ce fichier.

Je retourne sur le fichier source et je clique à nouveau sur le bouton et là ça fonctionne et cette fois le fichier typotest s'est bien ouvert. Si je refais le test ça fonctionne toujours.

Mais dès que referme le fichier source, que je l'ouvre à nouveau et que je recommence les étapes, ça se passe toujours de la même manière.

Merci par avance pour votre aide.
 

camarchepas

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

Bonsoir ,

Le code que tu nous met à disposition ne pose pas de problème, sous condition d'avoir une feuille Typo dans le classeur
 

loulouange

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

oui j'ai bien une feuille typo dans le classeur sources, le code fonctionne si ce n'est ce début de bug à chaque fois, je pense que c'est lié à la feuille "base" qui comprend les ID et donc les autres feuilles se remettent à jour par rapport à la feuille "base".
mais normalement dans le code du bouton, la copie ne devrait pas prendre en charge les codes vba au final.
 

Discussions similaires


Haut Bas