Imprimer telle ou telle zone selon résultat d'une cellule...

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 !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin d'écrire la ligne de commande qui me permettra d'imprimer comme suit ;

Si H15 = 0 alors on imprime de B1 à C42 sinon on imprime de B1 à c83

Merci pour votre aide.

Bien à vous,
Christian
 
Re, le forum, Lone-wolf

Je reviens vers vous, pour savoir si j'ai bien réussi à modifier la macro, de Lone-wolf, ;

ce que j'attends ;
avant d'mprimer la zone B1:C42, je masque les lignes A43:A84
avant d'imprimer la zone B1:C83, j'affiche les lignes A83:A84
Ce qui me permettra, aussitôt l'impression, d'enregistrer en PDF suivant cette configuration...

With ActiveSheet
If .Range("H15").Value = 0 Then
Rows("43:84").EntireRow.Hidden = True
.PageSetup.PrintArea = "B1:C42"
Else
Rows("43:84").EntireRow.Hidden = False
.PageSetup.PrintArea = "B1:C83"
End If
.PrintOut Copies:=2
End With
End Sub

Bien micalement,
Christian
 
Bonjour le fil, le forum, Christian0258

@Christian0258
Une autre manière d'écrire la macro
(si j'ai bien compris la question 😉)
VB:
Sub Impression()
With ActiveSheet
.Rows("43:84").Hidden = (.[H15].Value = 0)
.PageSetup.PrintArea = "B1:C" & IIf(.[H15].Value = 0, "42", "83")
.PrintPreview    'pour visualiser
End With
End Sub
 
Bonjour Jean Marie 🙂, Christian 🙂

@Christian0258 : Euuuuhh! À quoi ça sert de masquer les lignes à partir de 43, si la zone d'impression va jusqu'à 42?? 😵

impression.gif
 
Dernière édition:
Re

@Lone-wolf
Pourquoi que donc qu'il n'y a plus de deux colonnes sur ta copie d'écran du message#6?
Vu que la plage désignée va de la colonne B à sa voisine la colonne C ? 😀
(soit deux colonnes)

C'est pas moi qui le dit, c'est Christian 😉
Bonjour à tout le forum,
Je souhaiterais votre aide afin d'écrire la ligne de commande qui me permettra d'imprimer comme suit ;
Si H15 = 0 alors on imprime de B1 à C42 sinon on imprime de B1 à c83
Merci pour votre aide.
Bien à vous,
Christian
 
Re, le forum, Lone-wolf, Staple 1600

Tu as bien compris ma question, Staple 1600, ça fonctionne parfaitement.
Dis-moi, petite question ; comment remettre la totalité des lignes visibles soit 16:83 après l'édition pour faire dans la foulée une remise à zéro de cette zone B16:C83.

Encore merci.
Bien à toi,
Christian
Oups pas vu Lone-wolf entre temps...lol
 
Re

A tout hasard, je dirai comme ceci, non ?
VB:
Sub ImpressionBIS()
With ActiveSheet
.Rows("43:84").Hidden = (.[H15].Value = 0)
.PageSetup.PrintArea = "B1:C" & IIf(.[H15].Value = 0, "42", "83")
.PrintPreview    'pour visualiser
.Rows("16:84").Hidden = 0
End With
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
1
Affichages
697
I
Réponses
1
Affichages
1 K
I
C
Réponses
1
Affichages
2 K
D
Réponses
2
Affichages
820
Domi_49
D
  • Question Question
Microsoft 365 vba
Réponses
14
Affichages
2 K
Retour