Macro pour imprimer plages spécifiées

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

melba

XLDnaute Occasionnel
Bonjour,

comment indiquer dans une macro que seules certaines plages doivent être imprimées?

Par exemple :

1) la plage A1:G11 doit toujours être imprimée

2) dans la plage A12: G58 uniquement les lignes comportant des montants en colonne B


et ceci toujours en noir et blanc?

Je souhaiterais que les données figurent en "continu" ( bien sûr si c'est dans la capacité de la page) et non sur plusieurs pages comme c'est le cas actuellement lorsque je fais une impression "manuelle" en sélectionnant les plages voulues .


Merci pour votre aide

@
 

Pièces jointes

Re : Macro pour imprimer plages spécifiées

Bonjour,

J'ai mis le code de Job 75 dans mon fichier mais ça ne fonctionne pas.

Je précise par ailleurs que l'impression doit se faire en noir et blanc et pour cela j'avais ce code à l'origine associé à un bouton :

Sub Imprimer()
With ActiveSheet
.Unprotect "melba"
.PageSetup.BlackAndWhite = True
.PrintPreview

.PageSetup.BlackAndWhite = False
.Protect "melba"
End With
End Sub

Je joins à nouveau mon fichier dans lequel j'ai cette fois ci mis quelques données en colonne C.

Merci pour votre réponse.
 

Pièces jointes

Dernière édition:
Re : Macro pour imprimer plages spécifiées

salut

je ne comprends pas qu'un demandeur ne réalise pas qu"un fichier joint protégé (feuilles et macros) n'est d'aucune utilité !

Un essai de plus : macro copiée dans le Module de la Feuille 1 et lancée par double click sur H1
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
  If R.Address <> "$H$1" Then Exit Sub
  'filtre la plage sans les lignes de champs vides(en C)
  Range("B17:C" & Cells(Rows.Count, 3).End(xlUp).Row).AutoFilter Field:=2, Criteria1:="<>"
  ActiveSheet.PageSetup.BlackAndWhite = True
  Range("A1:G" & Cells(Rows.Count, 3).End(xlUp).Row).PrintPreview
  'remet en place
  Selection.AutoFilter
End Sub
 
Re : Macro pour imprimer plages spécifiées

Bonjour melba, salut Si...

Bof, ben si la feuille est protégée par le mot de passe melba, modifiez la macro Imprimer :

Code:
Sub Imprimer()
'désactive la protection pour les macros
ActiveSheet.Protect "melba", UserInterfaceOnly:=True
Application.EnableEvents = False
On Error Resume Next 'si aucune cellule vide
Range("C17:C" & Rows.Count).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
ActiveSheet.PageSetup.BlackAndWhite = True 'noir et blanc
[A:G].PrintOut
Rows.Hidden = False
Application.EnableEvents = True
End Sub
Fichier joint.

A+
 

Pièces jointes

Re : Macro pour imprimer plages spécifiées

Bonjour,

Je viens de mettre le code de Job75 du post 18dans mon fichier réel et c'est super.

Sub Imprimer()
'désactive la protection pour les macros
ActiveSheet.Protect "melba", UserInterfaceOnly:=True
Application.EnableEvents = False
On Error Resume Next 'si aucune cellule vide
Range("C17:C" & Rows.Count).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
ActiveSheet.PageSetup.BlackAndWhite = True 'noir et blanc
[A:G].PrintOut
Rows.Hidden = False
Application.EnableEvents = True
End Sub

Cependant je voulais vous signaler un petit hic : ma dernière ligne imprimée perd sa bordure.

Je chipote car c'est déjà très très bien .

Ce qui me ferait progresser beaucoup plus c'est encore un décryptage renforcé du code : je suis débutante et c'est dur pour moi .

Je n'arrive toujours pas à voir à quel endroit du code il est mentionné que la plage A1:G16 est obligatoirement imprimée.

Je réclame peu d'indulgence et de patience.

Si vous ne souhaitez pas poursuivre sur ce sujet je comprendrais car vous avez déjà beaucoup fait et je vous en remercie.

J'ai noté soigneusement le code pour une prochaine utilisation.

Merci encore

@+
 
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
Retour