Bonjour le forum

J'ai cette macro qui bug sur une condition, c'est a dire :
Si il y a un filtre sur la ligne 1, continuer la macro et si il n'y a pas de filtre sur la ligne 1 en mettre 1 et continuer la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36
37
38
39
 
Sub Mise_En_Ordre_Classeur_Excel()
 
'Selectionne la 1ere ligne, supprime les espaces
    Rows("1:1").Select
    Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
 
'Place un filtre automatique si il n'y en a pas
Dim f As AutoFilter
Set f = ActiveSheet.AutoFilter
If f Is Nothing Then ActiveSheet.AutoFilter
 
    'Selection.AutoFilter
'Selectionne la cellule A2 et fige les volets
    Range("A2").Select
    ActiveWindow.FreezePanes = True
'Selectionne la feuille et passe la police en caractère 8
    Range("A1:IV65536").Select
    With Selection.Font
        '.Name = "Arial"
        .Size = 8
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
  'Ajuste la taille des colonnes
    Columns("A:IV").EntireColumn.AutoFit
'Supprime le quadrillage de la feuille
    ActiveWindow.DisplayGridlines = False
'Se positionne sur la cellule A2
    Range("A2").Select
 
End Sub
La macro bug sur la derniere ligne de cette partie

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'Place un filtre automatique si il n'y en a pas
Dim f As AutoFilter
Set f = ActiveSheet.AutoFilter
If f Is Nothing Then ActiveSheet.AutoFilter
Merci pour le depannage et bonne journée.