Conserver format de cel + filtre malgrès initation feuille Vba
Thomas
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
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 ..
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
-
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. -
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