Soucis dans l'impression

ArthurLord

XLDnaute Nouveau
Bonjour a tous, bonjour le forum,

Voila je viens au bout de ma macro, mais j'ai un petit soucis :

Je souhaiterais imprimer mon document de 2 façon differentes :
- Si la cellule B60 est vide imprime seulement le range "A1:J54",
- Par contre si la cellule B60 n'est pas vide, imprimer le range "A1: J108"

j'ai essayer ce type de chose mais cela ne fonctionne pas :

' DEMANDE D'IMPRESSION

Imprime:

Msg = "Voulez vous imprimer ?"
Style = vbYesNo + vbQuestion
Title = "IMPRESSION"
Reponse = MsgBox(Msg, Style, Title)
If Reponse = vbNo Then GoTo Fin
If Reponse = vbYes Then GoTo Feuille1
'End If

Feuille1:

If Range("B60").Value = 0 Then GoTo AAA
If Range("B60").Value = 1 Then GoTo BBB

Je vous joint la macro et le fichier qui serre a faire fonctionner la macro.

Merci par avance a vous pour l'aide que vous m'apporterai.
 

Pièces jointes

  • AutoCAD Vs Excel.zip
    35.4 KB · Affichages: 23
  • AutoCAD Vs Excel.zip
    35.4 KB · Affichages: 24
  • AutoCAD Vs Excel.zip
    35.4 KB · Affichages: 23

fred65200

XLDnaute Impliqué
Re : Soucis dans l'impression

bonjour,

pas le temps d'étudier correctement tout ton programme

si tu spécifie le classeur et l'onglet dans
Code:
    If activeworkbook.Sheets(1).Range("B60").Value = 0 Then GoTo AAA else Goto BBB
    'If activeworkbook.Sheets(1).Range("B60").Value = 1 Then GoTo BBB
est ce que ça fonctionne?

cordialement
 

ArthurLord

XLDnaute Nouveau
Re : Soucis dans l'impression

Bonjour le forum, Bonjour fred65200 et RENAUDER,

Alors je viens d'essayer les deux methodes, cela fonctionne tres bien mais pas pour ce que je veux faire, je m'explique.

Vos methodes font que l'impression se fait sur UNE SEULE feuille donc c'est un peu petit.

Ce que je souhaite c'est imprimer sur deux feuilles, si la cellule B60 est pleine.
J'ai modifier mon code en rajoutant une procedure d'impression mais cela est vachement lourd, de plus la mcro met du temps a s"éxecuter, comment l'allegée?

Le code qui est rajouté est en fin de module
Ci joint la macro

Merci a vous
 

Pièces jointes

  • AutoCAD Vs Excel.zip
    1.5 KB · Affichages: 16
  • AutoCAD Vs Excel.zip
    1.5 KB · Affichages: 11
  • AutoCAD Vs Excel.zip
    1.5 KB · Affichages: 18

ArthurLord

XLDnaute Nouveau
Re : Soucis dans l'impression

Bonjour a tous,

Bon j'arrive a faire fonctionner le tout comme ceci:

' DEMANDE D'IMPRESSION

Imprime:

Msg = "Voulez vous imprimer ?"
Style = vbYesNo + vbQuestion
Title = "IMPRESSION"
Reponse = MsgBox(Msg, Style, Title)
If Reponse = vbNo Then GoTo Fin
If Reponse = vbYes Then GoTo QQQ
'End If

QQQ:
If Range("B60").Value = "" Then
GoTo AAA
Else
GoTo BBB
End If

' MISE EN PAGE
' ENTETE ET PIED DE PAGE

AAA:
ActiveWindow.WindowState = xlMaximized
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
ActiveSheet.PageSetup.PrintArea = "A1:J54" ' Délimitation de la plage d'impression
.LeftHeader = "&""Arial,Gras""BET NEAU" ' Entete haut gauche
.CenterHeader = "&""Arial,Gras""Nomenclature" ' Entete haut centre
.RightHeader = "&""Arial,Gras""&F" ' Entete haut droite
.LeftFooter = "&""Arial,Gras""&D" ' Bas de page gauche
.RightFooter = "&""Arial,Gras""Page &P" ' Bas de page droite
.LeftMargin = Application.InchesToPoints(0.787401575) ' Marge de gauche
.RightMargin = Application.InchesToPoints(0.787401575) ' Marge de droite
.TopMargin = Application.InchesToPoints(0.984251969) ' Marge du haut
.BottomMargin = Application.InchesToPoints(0.984251969) ' Marge du bas
.HeaderMargin = Application.InchesToPoints(0.4921259845) ' Marge de l'entete
.FooterMargin = Application.InchesToPoints(0.4921259845) ' Marge du pied de page
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = True
.Zoom = False
End With

With ActiveSheet.PrintOut
End With

'AFFICHAGE DU RESULTAT

Application.ScreenUpdating = True
GoTo Fin

BBB:

ActiveWindow.WindowState = xlMaximized
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
ActiveSheet.PageSetup.PrintArea = "A1:J54" ' Délimitation de la plage d'impression
.LeftHeader = "&""Arial,Gras""BET NEAU" ' Entete haut gauche
.CenterHeader = "&""Arial,Gras""Nomenclature" ' Entete haut centre
.RightHeader = "&""Arial,Gras""&F" ' Entete haut droite
.LeftFooter = "&""Arial,Gras""&D" ' Bas de page gauche
.RightFooter = "&""Arial,Gras""Page &P" ' Bas de page droite
.LeftMargin = Application.InchesToPoints(0.787401575) ' Marge de gauche
.RightMargin = Application.InchesToPoints(0.787401575) ' Marge de droite
.TopMargin = Application.InchesToPoints(0.984251969) ' Marge du haut
.BottomMargin = Application.InchesToPoints(0.984251969) ' Marge du bas
.HeaderMargin = Application.InchesToPoints(0.4921259845) ' Marge de l'entete
.FooterMargin = Application.InchesToPoints(0.4921259845) ' Marge du pied de page
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = True
.Zoom = False

End With

With ActiveSheet.PrintOut
End With

ActiveWindow.WindowState = xlMaximized
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
ActiveSheet.PageSetup.PrintArea = "A55:J108" ' Délimitation de la plage d'impression
.LeftHeader = "&""Arial,Gras""BET NEAU" ' Entete haut gauche
.CenterHeader = "&""Arial,Gras""Nomenclature" ' Entete haut centre
.RightHeader = "&""Arial,Gras""&F" ' Entete haut droite
.LeftFooter = "&""Arial,Gras""&D" ' Bas de page gauche
.RightFooter = "&""Arial,Gras""Page &P" ' Bas de page droite
.LeftMargin = Application.InchesToPoints(0.787401575) ' Marge de gauche
.RightMargin = Application.InchesToPoints(0.787401575) ' Marge de droite
.TopMargin = Application.InchesToPoints(0.984251969) ' Marge du haut
.BottomMargin = Application.InchesToPoints(0.984251969) ' Marge du bas
.HeaderMargin = Application.InchesToPoints(0.4921259845) ' Marge de l'entete
.FooterMargin = Application.InchesToPoints(0.4921259845) ' Marge du pied de page
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False

End With

With ActiveSheet.PrintOut
End With



'AFFICHAGE DU RESULTAT

Application.ScreenUpdating = True
GoTo Fin

Fin:

'MISE A JOUR DE LA BARRE D'ETAT

Application.StatusBar = Application.DisplayStatusBar
Application.StatusBar = True
Application.StatusBar = "Création de la nomenclature terminée....." 'dans la barre d'etat

End Sub


Le seul hic c'est que je perd la continuité dans le nombre de page imprimée.
Pour ce qui est des macros XL4, là j'ai besoin d'un coup de main Fred, car je ne sais pas comment l'utiliser.

Merci de ton aide
 

Statistiques des forums

Discussions
312 203
Messages
2 086 184
Membres
103 152
dernier inscrit
Karibu