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

Fermé
Thomas - 15 janv. 2016 à 09:02
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 - 15 janv. 2016 à 12:55
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 ..
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
15 janv. 2016 à 09:48
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
eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
15 janv. 2016 à 12:55
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