Microsoft 365 [VBA Excel] Problème pour Réinitialiser les filtres : fonctionne une ou deux fois...

VirginieG

XLDnaute Nouveau
Bonjour,

Je reviens vers vous car j'ai un souci lors de la réinitialisation des filtres (pour remettre à zéro).

Que ce soit avec le script de @job75 ou celui que j'avais avant, ça fonctionne une ou deux fois et plus rien, il refuse de remettre à zéro.

Une idée ?

Sur le fichier d'exemple que j'avais donné dans mes 2 posts précédents il y a peu de données et aucun souci, mais dans mon fichier original qui comporte de nombreuses lignes ça pose problème.

B1 étant ma cellule où sont récupérées et affichées les critères de contre-indications saisies par l'utilisateur.

Voici les 2 solutions tentées :
VB:
Sub RAZ()
'Dans la feuille Feuil1, on remet les filtres à zéro
With Sheets("Feuil1")
   If .AutoFilterMode And .FilterMode Then .ShowAllData
'on vide la cellule B3 où sont affichés les filtres appliqués
[B1] = "Contre-indications : "
End With
End Sub

VB:
Sub RAZ()
Rows.Hidden = False
[B1] = "Contre-Indications : "
End Sub

Si ça peut aider, voici le sujet précédent pour comprendre le rendu final souhaité et le fichier d'exemple.
Sujet précédent : VBA Excel : Filtres au-delà de 2 critères, quelle(s) solution(s) svp ?

Merci encore. ;)

Bonne soirée.
 

Pièces jointes

  • Exemple-HE(1) (1).xlsm
    20.9 KB · Affichages: 4

VirginieG

XLDnaute Nouveau
Au fait, ton fichier de #1 fonctionne parfaitement bien chez moi : pas de problème de démasquage des lignes, même après 10 filtrages.
Oui, oui, je confirme !
C'est sur le vrai fichier que ça merdouillait. Mais pour des raisons de confidentialité, je ne pouvais pas le partager. Donc j'ai mis ici que l'exemple uniquement.
J'ai supprimé le module et copié les scripts dans un nouveau et tout est rentré dans l'ordre comme je le disais dans mon post #13.

Du coup, j'ai gardé tout de même le script de @Phil69970 avec Cells.EntireRow.Hidden = False
 

Statistiques des forums

Discussions
315 047
Messages
2 115 710
Membres
112 559
dernier inscrit
Lucky6851