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

imprimer plusieurs fois la meme feuille

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

fenec

XLDnaute Impliqué
Bonjour le forum
J’utilise cette macro qui fonctionne très bien mais auquel je souhaiterais ajouter un msgbox(nombre d’impression) afin de ne pas aller manuellement dans ma macro pour définir le nombre de copie :
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True

Ect…

Private Sub CommandButton11_Click()
Dim Ligne As Integer
Dim Colonne As Byte
Dim Fin As Integer
Fin = Range("C65535").End(xlUp).Row
For Ligne = 1 To Fin
For Colonne = 1 To 5
If Cells(Ligne, Colonne) <> "" Then GoTo Saut
Next Colonne
Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
Saut:
Next Ligne
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Rows("1:" & Fin).EntireRow.Hidden = False
End Sub


D’avance merci
 
Re : imprimer plusieurs fois la meme feuille

Hello,

Comme ceci... mais avec une ImputBox !
Code:
Private Sub CommandButton1_Click()

    Dim Ligne As Integer
    Dim Colonne As Byte
    Dim Fin As Integer
    Dim nbrCopie As Integer
    
    On Error Resume Next
        
    Fin = Range("C65535").End(xlUp).Row
    
    For Ligne = 1 To Fin
        For Colonne = 1 To 5
            If Cells(Ligne, Colonne) <> "" Then GoTo Saut
        Next Colonne
        Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
Saut:
    Next Ligne
    
    nbrCopie = InputBox("Combien de copie voulez-vous faire ?", Title:="Copies")
    
    If nbrCopie = 0 Then
        Rows("1:" & Fin).EntireRow.Hidden = False
        Exit Sub
    Else
        ActiveWindow.SelectedSheets.PrintOut Copies:=nbrCopie, Collate:=True
    End If
    
    Rows("1:" & Fin).EntireRow.Hidden = False
    
End Sub
 
Re : imprimer plusieurs fois la meme feuille

Re le forum et bonjour Hulk
merci pour ta réponse c'est nickel viens de tester

je venais de trouver en écrivant ceci quand penses-tu ?
vu que tu integre à la tienne:

Dim nbrCopie As Integer

On Error Resume Next

puis un if

If nbrCopie = 0 Then
Rows("1:" & Fin).EntireRow.Hidden = False
Exit Sub


merci de m'eclairer sur ton supplément

et encore merci pour ta réponse rapide

cordialement

Fenec
 
Re : imprimer plusieurs fois la meme feuille

re,
oups oublié de mettre mon code


Private Sub CommandButton11_Click() 'Imprimer Bon de Commande sans les lignes vides

Dim Ligne As Integer
Dim Colonne As Byte
Dim Fin As Integer
Fin = Range("C65535").End(xlUp).Row
For Ligne = 1 To Fin
For Colonne = 1 To 5 'Ici pour vérifier les colonnes de A a E
If Cells(Ligne, Colonne) <> "" Then GoTo Saut
Next Colonne
Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
Saut:
Next Ligne
x = InputBox("combien voulez vous d'impression")
ActiveWindow.SelectedSheets.PrintOut Copies:=x, Collate:=True
Rows("1:" & Fin).EntireRow.Hidden = False
End Sub


a+
 
Re : imprimer plusieurs fois la meme feuille

Re,

Si j'ai bien compris ce que tu demandes...

Teste avec ton code sans écrire un nombre dans l'InputBox ou sors de l'InputBox en cliquant sur la croix, tu verras..

On Error Resume Next évite le message d'erreur (tu peux gérer les erreurs plus proprement si tu veux).

If nbrCopie = 0 Then
Rows("1:" & Fin).EntireRow.Hidden = False
Exit Sub


Un if parce :

Si rien dans l'InputBox (0 = "") il ré-affiche les lignes et Exit Sub pour qu'il sorte de la procédure.
Autrement il imprime le nombre de x (ex. si tu saisis un nbr mais que tu cliques sur la croix pour sortir).
 
Re : imprimer plusieurs fois la meme feuille

Salut,

en passant par la boîte de dialogue, on peut même choisir l'imprimante et d'autres options.
Code:
Private Sub CommandButton1_Click()
  Dim Li As Long
  For Li = 1 To Cells(Rows.Count, 3).End(xlUp).Row
    Rows(Li).Hidden = Application.CountBlank(Range("A" & Li & ":E" & Li)) = 5
  Next
  Application.Dialogs(xlDialogPrint).Show
  Cells.EntireRow.Hidden = False
End Sub
 
- 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
3
Affichages
284
Réponses
5
Affichages
780
Réponses
4
Affichages
646
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…