XL 2016 impression quantité etiquette

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

lamho27

XLDnaute Occasionnel
Bonjour à Toutes & Tous,
j'ai 8 étiquettes chaque page, je voudrais imprimer nombres étiquettes par le bouton clic

Qui peut me donner le code en VBA pour imprimer avec quantités étiquette dans cellule B3.

Vous remerciant par avance..
 

Pièces jointes

Re

Est-ce que tu as compris ce que tu peux faire dans mon précédent message? 🙄
Sélectionne le nombre d'étiquettes que tu veux imprimer de 1 à 1000.
Ou, sélectionne des étiquettes par ex. n°2 -4-6-8 ou n°11-13-15 ou n° 30 à 50 etc.


Voici le fichier avec l'ajout d'une ligne de code. Le boutton se positionne à la hauteur de la sélection.
Les pdf exemples.

EDIT: quel est l'intêret de réimprimer à chaque fois, les étiquettes que tu as déjà imprimé?? 😵
Si tu veux gaspiller de l'encre et du papier, c'est toi qui sait.
 

Pièces jointes

Dernière édition:
Bonjour lamho27, Lone-wolf,

A mon avis les lignes telles que les 12-13-14 ne doivent pas être imprimées, vous êtes d'accord ?

Donc on les masque, testez le fichier joint avec ce code :
Code:
Sub Imprimer()
Dim Npage&, Nder%, pas%, Nmasque%, n&, lig&, p%
With Feuil1 'CodeName
    .[B3] = Int(Val(.[B3]))
    Npage = Application.Ceiling(.[B3] / 8, 1)
    If Npage < 1 Then Exit Sub
    Nder = .[B3] - 8 * (Npage - 1) 'nombre d'étiquettes en dernière page
End With
pas = 14 'à adapter
Nmasque = 3 'nombre de lignes à masquer à chaque pas, à adapter
With Feuil7 'CodeName de la feuille à imprimer
    .Visible = xlSheetVisible 'au cas où...
    .Copy 'document auxiliaire
End With
With ActiveWorkbook.Sheets(1)
    For n = 1 To Npage
        lig = 1 + (n - 1) * pas * 4 'n° de la 1ère ligne
        '---masquage des lignes à ne pas imprimer(12-13-14)---
        For p = 1 To 4
            .Rows(lig + pas * p - Nmasque).Resize(Nmasque).Hidden = True
        Next
        '---effacement des étiquettes excédentaires en dernière page---
        If n = Npage Then Rows(lig + pas * Application.Ceiling(Nder, 2) / 2).Resize(pas * 4).Clear
        '---mise en page---
        With .PageSetup
            .PrintArea = "$A$" & lig & ":$Q$" & lig + pas * 4 - 1 'zone d'impression
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
        End With
        '---impression---
        .PrintPreview 'pour tester
        '.PrintOut 'pour imprimer
    Next
    .Parent.Close False 'fermeture du document auxiliaire
End With
End Sub
Bien sûr pour imprimer rendre active l'instruction .PrintOut 'pour imprimer

A+
 

Pièces jointes

Dernière édition:
Bonjour job75 🙂

Non, c'est les lignes en bleu et en jaune qui ne faut pas tenir compte. Ce qui est bizarre, c'est quand tu vas dans fichier > imprimer, la feuille est en noir et blanc sans ces lignes en couleur.

Et, est-ce que tu peux tester le dernier fichier que j'ai mis, il est sous excel 2016 et dit que la macro ne fonctionne pas.

Avant de tester il faut mettre à la place .PrintPreview. Merci pour ton retour.

EDIT: il faut supprimer une boucle(dans ta macro), pour éviter de fermer l'aperçus et continuer l'impression.
 
Dernière édition:
- 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

Discussions similaires

Réponses
8
Affichages
222
Réponses
7
Affichages
135
Réponses
4
Affichages
221
Retour