Conserver format de cel + filtre malgrès initation feuille Vba

Bonjour,

Je me casse la tête depuis maintenant une semaine ..

-Sur ma première ligne j'ai mes titres et j'aimerais mettre un filtre déroulant définitif( sans qu'il s'efface après application de ma macro d'init )

- De plus j'ai appliqué à ma colonne G un retour à la ligne obligatoire et apliqué à toute mes lignes du classeur une hauteur de 15 .. j'aimerais également que cela soit définitif ..

voici mon code d'init :

Sub reinit()

' Ce programme permet la réinitialisation de l'outil . Cette partie ne concerne que la deuxième page.

Application.ScreenUpdating = False
Range("A2:P388").Select
Selection.ClearContents ' On efface l'ensemble des données
Range("O3:O382").Select
Selection.EntireRow.Hidden = False ' On réaffiche les lignes qui ont pu être cachées par le tri

If Worksheets(2).AutoFilterMode = True Then 'Test si un filtre est activé
Worksheets(2).AutoFilterMode = False 'Si oui on le désactive

End If
Cells(3, 1).Select

Application.ScreenUpdating = True

Sheets(1).Select

Call clear2 'On appelle le programme qui réinitialisera la première page

End Sub

MERCI DE VOTRE AIDE ..

2 réponses

  1. Contributeur
    Bonjour,

    Pas tout compris de ta question surtout le définitif que tu veux faire pour appliquer un filtre que tu détruit s'il existe. Par contre je te conseille ceci :
    Range("A2:P388").ClearContents ' On efface l'ensemble des données
    Range("O3:O382").EntireRow.Hidden = False ' On réaffiche les lignes qui ont pu être cachées par le tri 

    Les 'select' n'ont aucune utilité et consomment des ressources.
    0
    1. Contributeur
      Bonjour,

      Je crois que tu n'as pas bien compris le rôle de .AutoFilterMode, regarde l'aide dessus (F1).
      Peut-être ça que tu veux :
          'mettre filtre si absent et désactiver tous les filtres
          With sh
              If Not .AutoFilterMode Then
                  [A1].AutoFilter    ' mettre filtre
              Else
                  If .FilterMode Then .ShowAllData ' afficher tout
              End If
          End With

      eric
      0