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

étiquettes pour caisses de vin

  • Initiateur de la discussion Initiateur de la discussion ffmmx
  • 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 !

F

ffmmx

Guest
bonjour
c'est tout simple mais compliqué à faire. Un tableau dans excel avec 3 colonnes :
nom / adresse / qté caisses de vin
AZERTY / 75000 Paris / 4
QUERTY / 44000 Nantes / 2
je veux faire des étiquettes à partir de word et donc 4 étiquettes pour AZERTY et 2 étiquettes pour QUERTY que je colle sur les caisses de vin ce qui me permet de ne pas me tromper
Merci de m'aider
ffmmx
 
Bonjour ffmmxx,

J'avoue ne pas avoir tout compris.

Les étiquettes, tu veux les faire avec Word ou Excel ?

Ici, tu es sur un Forum consacré à Excel. Certains maîtrisent également Word et pourraient te répondre.

Pour le moment, c'est ta question qui est compliquée plutôt que ton problème.

Reviens avec davantage d'infos et un exemple de ce que tu veux obtenir.

@+
 
Salut,

j'utilise parfois Word pour des étiquettes et je trouve ta question intéressante. Je n'ai pas trouvé dans word un moyen de piloter le nombre d'étiquettes pour chaque champ de la base de données excel.
A mon avis, il faudrait faire une macro excel qui fabrique une nouvelle base données contenant autant de lignes que d'étiquette à imprimer. . Pour chaque ligne, on recopie autant de fois que le chiffre indiqué dans la colonne quantité. Je ne saurais pas le faire rapidement, mais il y a ici des spécialistes... Espérons qu'ils viendront lire ce fil !

Cordialement
 
bonsoir Ffmmx , bonsoir chers Tibo et Jean-Yves


tu peux tester une procédure Word de ce type ( à placer dans le document principal de publipostage )

Sub publipostage_wordVBA_ImpressionMultipleConditionnel()
Dim i As Integer, x As Integer
'
'MichelXld le 04.03.2006
'
'Utilisez cette procédure Word apres avoir créé et mis en forme votre
'document principal de publipostage.
'C'est la macro qui va boucler sur tous les enregistrements et imprimer chaque enregistrement
'autant de fois qu'indiqué dans le champ 'qté caisses de vin'

'Cet exemple ne prend pas en compte les filtres éventuels dans le publipostage .

'Afficher le 1er enregistrement du publipostage
ThisDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord

'boucle sur tous les enregistrements de la base de données
For i = 1 To ThisDocument.MailMerge.DataSource.RecordCount

'Nombre d'impression en fonction de la valeur indiquée dans le champ 'qté caisses de vin'
For x = 1 To ThisDocument.MailMerge.DataSource.DataFields('qté caisses de vin').Value

With ThisDocument.MailMerge
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.Destination = wdSendToPrinter
.Execute
End With

Next x

'passer à l'enregistrement suivant
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Next i

End Sub




bonne soiree
MichelXld
 
Merci à Michel pour sa macro qui marche sous Word en rajoutant le '_' pour gérer l'espace du nom du champ
C'est vrai qu'une macro sur Excel pour dupliquer mes caisses m'aurait intéressé aussi afin de pouvoir par la suite filtrer sous word (caisses livrées et caisses non en stock)
Je remercie Michel
ffmmx
 
bonjour

Sur le meme principe que le premier exemple , tu peux ajouter une condition pour imprimer les étiquettes uniquement quand le champ 'Statut' contient le mot 'Livré'

'
'...
'
'boucle sur tous les enregistrements de la base de données
For i = 1 To ThisDocument.MailMerge.DataSource.RecordCount

If ThisDocument.MailMerge.DataSource.DataFields('Statut').Value = 'Livré' Then

'Nombre d'impression en fonction de la valeur indiquée dans le champ 'qté caisses de vin'
For x = 1 To ThisDocument.MailMerge.DataSource.DataFields('qté_caisses_de_vin').Value
With ThisDocument.MailMerge
.DataSource.FirstRecord = i
.DataSource.LastRecord = i
.Destination = wdSendToPrinter
.Execute
End With
Next x

End If

'passer à l'enregistrement suivant
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Next i
'
'...
'



bon après midi
MichelXld
 
- 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

Réponses
7
Affichages
987
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…