Paramétrage de plusieurs feuilles simultané Portrait / Paysage
Idem, bonne fin de soirée.
A +
Bonjour X Cellus,
J'espère que tu vas bien
Je reviens vers toi parce que mon idée de liste déroulante sous validation de données n'a pas été retenue...
En effet, lorsqu'un nouvel utilisateur l'a testé, il ne savait pas où cliquer (manque d'indications et de mise en forme de ma part). Je suis pour le coup obligé de passer par ce que je ne voulais pas : ActiveX Contrôle de formulaire
En me basant sur notre travail conjoint, j'ai pu calquer un autre code : le code marche bien. Sauf que (comme d'habitude, sinon ce n'est pas marrant haha) :
1. L'aperçu avant impression prend plus de temps qu'avant et un écran noir apparaît avant l'aperçu
2. Encore pour "tous les documents", ça ne marche pas du tout cette fois
Je peux laisser un fichier excel si besoin mais comme nous avons déjà un fichier test..
Merci encore pour ton aide !!
Private Sub ComboBox1_Change()
If ComboBox1 = "Doc1" Then
ActiveSheet.PageSetup.PrintArea = "A38:R77"
Flag = 2
GoSub SetPage
End If
If ComboBox1 = "Doc2" Then
ActiveSheet.PageSetup.PrintArea = "AE83:BQ153"
Flag = 1
GoSub SetPage
End If
If ComboBox1 = "Doc3" Then
ActiveSheet.PageSetup.PrintArea = "BS157:CJ198"
Flag = 2
GoSub SetPage
End If
If ComboBox1 = "Doc4" Then
ActiveSheet.PageSetup.PrintArea = "CL206:CO260"
Flag = 1
GoSub SetPage
End If
If ComboBox1 = "Tous les documents" Then
ActiveSheet.PageSetup.PrintArea = "A38:R77,BS157:CJ198"
Flag = 2
GoSub SetPage
Sheets("Feuil1!").PrintPreview
MsgBox "Appuyez sur Ok pour voir l'autre document"
ActiveSheet.PageSetup.PrintArea = "AE83:BQ153,CL206:CO260"
Flag = 1
GoSub SetPage
End If
Sheets("Feuil1!").PrintPreview
GoSub ImpPage
End
SetPage:
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = True
.CenterVertically = True
.Orientation = IIf(Flag = 2, xlLandscape, xlPortrait) '2 paysage ou 1 portrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = IIf(Flag = 2, 70, 77)
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
End With
Return
ImpPage:
Rep = MsgBox("Voulez vous imprimez ce(s) document(s) : ", vbOKCancel, "ATTENTION")
If Rep = 1 Then
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.PrintCommunication = False
End If
Return
End Sub
Bonjour FeitaN_,
Je ne reviens pas toujours sur les sujets clos.
Car d'abord je n'ai pas coché pour qu'un rappel apparaisse sur mon téléphone vu le nombre de sujets auquel j'ai participé.
Ensuite ici tu as changé le mode de sélection en passant par un formulaire.
Et donc ce n'est pas le même code à faire.
Sans le fichier adéquat afin de voir la bouille
Bonjour X Cellus,
Oui, c'est tout à fait logique, je te prie de bien vouloir m'excuser
Ensuite, oui, ce n'est pas le même concept. Mais j'ai réussi à parfaire le code. Lorsque j'ai voulu créer un fichier test, j'ai modifié le code en fonction des différents noms, etc. et ça a bien marché.
J'ai donc supprimé le code puis remis un nouveau et ça a marché alors que c'était exactement le même.. Je ne comprends pas les mystères du vba haha
La prochaine fois, ça sera nouveau sujet (encore désolé)
Je vais essayer de joindre un fichier, si jamais je bloque sur cette fonction
Merci à toi et belle journée