Code VBA : Option BeforePrint

Bonjour,

J’aurais voulu faire dépendre une zone d’impression de la valeur d’une cellule.

Malgré plusieurs essais je n’arrive pas à faire démarrer la macro ci-dessous lors de l’impression (par contre elle fonctionne très bien si je la lance manuellement par F5).

Private Sub Worksheet_BeforePrint()

Application.EnableEvents = False
If [P2] = "Oui" Then
    ActiveSheet.PageSetup.PrintArea = "$A$1:$M$37"
Else
    ActiveSheet.PageSetup.PrintArea = "$A$1:$M$90"
End If
Application.EnableEvents = True
End Sub

Pouvez-vous m’aider ? Afin de faire des essais, on peut modifier l’année de la date en E4 (1956 ou 1946) dans le fichier tel que présenté en annexe.

A vous relire.

Bonjour

Ta procédure n'existe pas dans l'objet WorkSheet

Places-la dans ThisWorkbook

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
If ActiveSheet.Range("P2") = "Oui" Then
    ActiveSheet.PageSetup.PrintArea = "$A$1:$M$37"
Else
    ActiveSheet.PageSetup.PrintArea = "$A$1:$M$90"
End If
Application.EnableEvents = True

End Sub

Bonne journée

Superbe, ça fonctionne à merveille !

Merci infiniment pour ton aide et meilleures salutations.

Rechercher des sujets similaires à "code vba option beforeprint"