1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub Impression()
With Worksheets("BD")
MasqueContenuCell_Print Intersect(.UsedRange, Union(.Range("A:B"), .Range("J:L"), .Range("S:S")))
End With
End Sub
Sub MasqueContenuCell_Print(Plage As Range)
Dim FormatInit() As Variant
Dim c As Range
Dim i As Long
'Redimesionne le tableau qui va stocker les formats initiaux
ReDim FormatInit(Plage.Cells.Count)
'Boucle sur la plage de cellules
For Each c In Plage
i = i + 1
FormatInit(i) = c.NumberFormat
Next c
'Applique le format ;;; pour masquer le contenu des cellules.
Plage.NumberFormat = ";;;"
'Feuille.PrintPreview
Plage.Parent.PrintPreview
i = 0
'Boucle sur la plage de cellules pour réattibuer les formats initiaux
For Each c In Plage
i = i + 1
c.NumberFormat = FormatInit(i)
Next c
End Sub |