bonsoir
voici une proposition
même si tu dis que tu protège la feuille par mot de passe il n'y en a pas... donc je ne sais pas ce que tu autorise ou pas quand c'est verouillé. donc adapter si cela ne correspond pas ...
juste pour rappel les protection par mot de passe des fichiers excel n'est pas du tout fiable ... je veux dire qu'il existe des utilitaire sur le net qui casse les mots de passe.
dans l'exemple ci dessous j'ai mis fred comme mot de passe
a+
fred
Sub imprime()
With ActiveSheet
.Unprotect ("fred")
.Shapes.Range(Array("commandbutton1", "commandbutton2", "commandbutton3", "commandbutton4")).Visible = False
Application.Dialogs(xlDialogPrint).Show
.Shapes.Range(Array("commandbutton1", "commandbutton2", "commandbutton3", "commandbutton4")).Visible = True
.Protect Password:="fred", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
End With
End Sub
Edit : faudra revoir la mise en page aussi de ton deuxième onglet car le premier sort bien pas le deuxième