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 35
| Sub Effacer_pmo()
Dim S As Worksheet
Dim R As Range
Dim R_Formules As Range
Dim R2 As Range
Dim C As Range
Dim LastLig&
Dim LastCol&
Set S = ActiveSheet
LastLig = S.Cells(Rows.Count, 1).End(xlUp).Row 'Valeur à ajuster
LastCol = S.Cells(1, Columns.Count).End(xlToLeft).Column
'--- Désactive l'évènementiel ---
Application.EnableEvents = False
'--- Toute la plage sauf les lignes de titres 1 et 2 ---
Set R = S.Range(S.Cells(3, 1), S.Cells(LastLig, LastCol))
R.UnMerge 'supprime les fusions
R.ClearFormats 'supprime les formats
'--- Le Range des Formules ---
Set R_Formules = R.SpecialCells(xlCellTypeFormulas, 23)
'--- Pour touver la plage des cellules qui ne sont pas des formules ---
For Each C In R
If Application.Intersect(C, R_Formules) Is Nothing Then
If R2 Is Nothing Then
Set R2 = C
Else
Set R2 = Application.Union(R2, C)
End If
End If
Next C
'---
R2.ClearContents 'supprime les valeurs
'--- Active l'évènementiel ---
Application.EnableEvents = True
End Sub |
Partager