Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide publipostage

  • Initiateur de la discussion Initiateur de la discussion Carine13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Carine13

Guest
Bonjour à tous,

Voici mon problème

Je dispose dans un fichier Excel de 500 numéros de série (1 par ligne sur 500 colonnes)
Je souhaite les imprimer avec Word sur un modèle d'étiquette définie
C'est relativement simple, seulement j'ai besoin d'imprimer chaque numéro de série en 3 exemplaires sur des étiquettes séparées et là je coince.
Hormis copier chaque numéro de série dans Excel en 3 exemplaires, l'un à la suite de l'autre soit 1500 numéros de série je n'arrive pas à automatiser cela

J'attends vos réponses

Merci d'avance
 
Re : Aide publipostage

bonjour Carine

difficile de te repondre sans un petit exemple

quelques lignes et quelques colonnes dans un fichier excel et un exemple word (les deux sans données confidentielles) et la reponse sera rapide
 
Re : Aide publipostage

Bonjour PierreJean

Merci pour votre aide

Voici donc le fichier excel avec les données
Voici le résultat du publipostage sur Word : en fait je souhaite que sur Word le même numéro de série soir répeter sur 3 étiquettes et non sur une sans si possible toucher à mon fichier de base sur Excel (ou alors automatiser pour fichier Excel afin d'obtenir le résultat souhaité)

J'attends votre solution

Carine
 

Pièces jointes

  • FM.zip
    FM.zip
    4.9 KB · Affichages: 31
Re : Aide publipostage

Salut Carine13 et PierreJean

j'ai pris le pb à l'envers : je propose de tri(??)pliquer ta base excel avec une macro qui peut être largement améliorée :
Sub Macro1()
'
' Macro1 Macro
Sheets("feuil1").Select ' feuille ou se situe la base
Range("A2:B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Feuil2").Select ' feuille ou tu veux dtripliquer tes données
Range("A2").Select
ActiveSheet.Paste
Range("A3").Select

Selection.End(xlDown).Select
Selection.Offset(1, 0).Activate
ActiveSheet.Paste

Selection.End(xlDown).Select
Selection.Offset(1, 0).Activate
ActiveSheet.Paste

Range("A2:B2").Select
Range(Selection, Selection.End(xlDown)).Select

Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


Ensuite tu fais ton publipostage sur la feuille 2.
Espérant que cela t'aidera ...
@+
RICO
 
Re : Aide publipostage

Bonjour Rico,

merci pour votre macro
Par contre j'aurai besoin que les 3 numéros de série se suivent
Dans votre cas ils se répétent à la fin de la série
Est ce possible?

Merci

Carine
 
Re : Aide publipostage

re , je comprends pas il se répète à la fin de la série ??
normalement la macro fait un tri sur le critère FM ... tu devrais avoir les numéros de série (3fois) qui se suivent .
Si tu préfères trier par le num de série tu changes ce code ds la macro :

Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Sinon explique moi plus dans le détail.
RICO
 
Re : Aide publipostage

Merci Pierrejean et Rico de votre aide

Mon autre petit souci, je souhaiterais que lors de mon publipostage, les 3 exemplaires du premier numéro de série se retrouvent l'un en dessous de l'autre et non à la suite et cela dans des étiquettes différentes.
Par défaut, ils se retrouvent l'un à coté de l'autre

Merci de me dire si cela est possible

Carine
 
Re : Aide publipostage

Merci beaucoup

C'est parfait
Dites moi juste comment faire pour modifier ma macro car mon format d'étiquette dans Word ne contient que 3 colonnes et non 5 comme dans votre exemple

Merci encore

Carine
 
Re : Aide publipostage

Re Carine13
voilà la code :

Sub prepa()
ligne = 2
For n = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 5
For m = 1 To 3
Sheets("Feuil2").Range("A" & ligne) = Sheets("Feuil1").Range("A" & n)
Sheets("Feuil2").Range("A" & ligne + 1) = Sheets("Feuil1").Range("A" & n + 1)
Sheets("Feuil2").Range("A" & ligne + 2) = Sheets("Feuil1").Range("A" & n + 2)


Sheets("Feuil2").Range("B" & ligne) = Sheets("Feuil1").Range("B" & n)
Sheets("Feuil2").Range("B" & ligne + 1) = Sheets("Feuil1").Range("B" & n + 1)
Sheets("Feuil2").Range("B" & ligne + 2) = Sheets("Feuil1").Range("B" & n + 2)

ligne = ligne + 3
Next m
Next n
End Sub


Pierre jean a fait tout le boulot ... c'est à lui que doivent revenir les remerciements ...
@+RICO
 
Re : Aide publipostage

re

je crois que c'est presque cela

moi j'ai testé

Code:
Sub prepa()
ligne = 2
For n = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 3
For m = 1 To 3
Sheets("Feuil2").Range("A" & ligne) = Sheets("Feuil1").Range("A" & n)
Sheets("Feuil2").Range("A" & ligne + 1) = Sheets("Feuil1").Range("A" & n + 1)
Sheets("Feuil2").Range("A" & ligne + 2) = Sheets("Feuil1").Range("A" & n + 2)
Sheets("Feuil2").Range("B" & ligne) = Sheets("Feuil1").Range("B" & n)
Sheets("Feuil2").Range("B" & ligne + 1) = Sheets("Feuil1").Range("B" & n + 1)
Sheets("Feuil2").Range("B" & ligne + 2) = Sheets("Feuil1").Range("B" & n + 2)
ligne = ligne + 3
Next m
Next n
End Sub

difference : step 3 et non plus 5
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
2
Affichages
1 K
Mariano
M
F
Réponses
2
Affichages
4 K
K
Réponses
0
Affichages
1 K
K
N
Réponses
4
Affichages
17 K
Nowis_FRA
N
Z
Réponses
8
Affichages
6 K
Zoreille6974
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…