Bonjour,
J'ai un soucis avec la fonction BeforePrint :
J'ai fait une macro qui passe en blanc le contenu de la cellule A1 sur toutes les feuilles du classeur avant impression.
Jusque là pas de problème ça fonctionne :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Nb As Integer, Compteur
Nb = Sheets.Count
For Compteur = 1 To Nb Step 1
Sheets(Compteur).Unprotect
Sheets(Compteur).Range("A1").Font.ColorIndex = 2
Sheets(Compteur).Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
Next Compteur
End Sub
Par contre, quand l'utilisateur sélectionne uniquement les feuilles 2 et 3 pour les imprimer, 1 seule feuille s'imprime.
Le soucis viens de la dé-protection/protection des feuilles qui vire la sélection de l'utilisateur.
Je cherche donc un moyen de stocker en début de macro les feuilles sélectionnées pour les rétablir en fin de macro juste avant l'impression (dans la plus part des cas ça sera par ex. les feuilles 10 à 20 sélectionnées sur 20 feuilles).
Je sais qu'il existe la propriété SelectedSheets mais je ne trouve pas le moyen de l'utiliser dans mon cas.
Ci joint fichier d'exemple.
Merci de me donner une piste