XL 2010 Modifier un code d'impression

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 !

rosabelle

XLDnaute Junior
Bonsoir à tous,

J'aurais besoin d'un coup de pouce pour compléter ce code que vous m'aviez donné pour imprimer en noir et blanc et uniquement les zones pour lesquelles mes formules donnent un résultat :

Public Sub Imprimerzonespleines()
Dim n As Long

n = 9
With Feuil16
.Unprotect Password:="toto"
Do
If .Cells(n + 1, 1).Value = "" Then .Rows(n + 1).Hidden = True
n = n + 1
Loop While .Cells(n + 1, 1).Formula <> ""
With .PageSetup
.BlackAndWhite = True
.PrintArea = "$A1:G" & n
End With
.PrintOut Preview:=True
.Rows.Hidden = False
.Protect Password:="transall", UserInterFaceOnly:=True
End With

End Sub


Ce code fonctionne mais je ne sais pas comment indiquer que en plus les cellules :
A35:C35
et A36:C36

doivent aussi obligatoirement être imprimées

Merci par avance pour votre aide
Je vous souhaite de bonnes fêtes de fin d'année
 
Solution
Re

Je te propose cette solution qui remplace tout ton code

VB:
Sub Imprimerzonesremplies()

Application.ScreenUpdating = False
Dim Derlig&, Derlig1&

With Feuil1
    .Unprotect Password:="toto"
    Derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
    Derlig1 = .Range("G" & Rows.Count).End(xlUp).Row - 1
    .Rows(Derlig & ":" & Derlig1).EntireRow.Hidden = True    'Masque les lignes vides

    With .PageSetup
        .BlackAndWhite = True
        .PrintArea = "$A$1:$G$36"
    End With
    .PrintPreview    'Prévisualisation
    .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False    'Lance l'impression
    .Rows(Derlig & ":" & Derlig1).EntireRow.Hidden = False    'Démasque les lignes vides
    .Protect Password:="toto"...
Bonjour,

Merci beaucoup @Phil69970 d'avoir pris le temps en cette période de "fêtes" de répondre à ma question.
J'ai bien noté pour le mot de passe.😕
J'ai collé le bout de code que vous avez ajouté et cela fonctionne très bien (j'ai juste modifié la zone supplémentaire à imprimer) :

Public Sub Imprimerzonespleines()
Dim n As Long

n = 9
With Feuil16
.Unprotect Password:="toto"
Do
If .Cells(n + 1, 1).Value = "" Then .Rows(n + 1).Hidden = True
n = n + 1
Loop While .Cells(n + 1, 1).Formula <> ""
With .PageSetup
.BlackAndWhite = True
.PrintArea = "$A$1:G" & n & ",$A$31:$G$36"
End With
.PrintOut Preview:=True
.Rows.Hidden = False
.Protect Password:="toto", UserInterFaceOnly:=True
End With

End SubPublic Sub Imprimerzonespleines()
Dim n As Long

n = 9
With Feuil16
.Unprotect Password:="transall"
Do
If .Cells(n + 1, 1).Value = "" Then .Rows(n + 1).Hidden = True
n = n + 1
Loop While .Cells(n + 1, 1).Formula <> ""
With .PageSetup
.BlackAndWhite = True
.PrintArea = "$A$1:G" & n & ",$A$31:$G$36"
End With
.PrintOut Preview:=True
.Rows.Hidden = False
.Protect Password:="transall", UserInterFaceOnly:=True
End With

End Sub

Le seul problème c'est que cela m'imprime systématiquement sur 2 pages alors que j'ai très peu d'infos et cela devrait tenir sur une seule....
Y a t il une solution?
Je joins mon fichier que j'ai anonymisé.
Merci par avance
 

Pièces jointes

Re

Je te propose cette solution qui remplace tout ton code

VB:
Sub Imprimerzonesremplies()

Application.ScreenUpdating = False
Dim Derlig&, Derlig1&

With Feuil1
    .Unprotect Password:="toto"
    Derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
    Derlig1 = .Range("G" & Rows.Count).End(xlUp).Row - 1
    .Rows(Derlig & ":" & Derlig1).EntireRow.Hidden = True    'Masque les lignes vides

    With .PageSetup
        .BlackAndWhite = True
        .PrintArea = "$A$1:$G$36"
    End With
    .PrintPreview    'Prévisualisation
    .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False    'Lance l'impression
    .Rows(Derlig & ":" & Derlig1).EntireRow.Hidden = False    'Démasque les lignes vides
    .Protect Password:="toto", UserInterFaceOnly:=True
End With

End Sub

*Merci de ton retour

@Phil69970
 
- 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
35
Affichages
2 K
Réponses
8
Affichages
906
Réponses
1
Affichages
1 K
Retour