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

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
 

Christian0258

XLDnaute Accro
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
 

Staple1600

XLDnaute Barbatruc
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
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Jean Marie :), Christian :)

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

impression.gif
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
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 ? :D
(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
 

Christian0258

XLDnaute Accro
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
 

Staple1600

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 689
dernier inscrit
moshe yaacov abnaim