XL 2019 Erreur sur filtres avec Tableaux VBA

  • Initiateur de la discussion Initiateur de la discussion bambi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bambi

XLDnaute Occasionnel
Bonjour à tous 🙂

Il y a plus d'un an, j'avais sollicité votre aide pour créer une page de filtres
Il s'agissait de filtrer un tableau présent dans une feuille (Carnet) et de reporter les données filtrées dans une autre (Filtres)
Le tableau contient des formules, des dates, des heures, des données diverses
@job75 avait parfaitement résolu ma demande à l'aide de Tableaux VBA >> ici

Cette année, sur ce même fichier, je dois filtrer depuis la ligne 53 de la feuille Carnet au lieu de la ligne 23
Je pensais avoir fait les ajustements nécessaires dans le VBA
Mais j'ai une erreur d'exécution 5 sur les deux filtres JOUR et MOIS de la feuille FILTRES
Et le débogage surligne le code .Resize(n) = Application.Transpose(b)

Tous les autres filtres fonctionnent
Précision : Le filtrage se fait depuis la feuille Filtres avec des listes dans les cellules B24 à J24

Pourriez-vous m'aider à résoudre ce problème ?

Merci d'avance 😉
 

Pièces jointes

Dernière édition:
Bonsoir bambi,

Vous avez modifié les formats textes des jours et des mois donc dans la macro remplacez :
VB:
X = Application.Proper(Format(99 + i, "dddd")) '----nom propre
par :
VB:
X = Application.Proper(Left(Format(99 + i, "ddd"), 3)) '----nom propre
et remplacez :
VB:
X = Application.Proper(Format("1/" & i, "mmmm")) '----nom propre
par :
VB:
X = Application.Proper(Format("1/" & i, "mmm")) '----nom propre

Nota : vous avez ajouté des Application.ScreenUpdating = False/True, ils sont inutiles.

A+
 
Bonjour bambi, le forum,
Tout est rentré dans l'ordre et fonctionne parfaitement
Sauf que chez moi sur Excel 2019 Excel plante une fois sur deux et je ne sais pas pourquoi.

Dans le fichier joint j'ai résolu le problème en ajoutant les Application.EnableEvents = False/True.

Bonne journée.
 

Pièces jointes

Je suis arrivé à savoir pourquoi Excel plantait.

C'est à cause dut tri en colonne AM :
VB:
.Resize(n, 2).Sort .Cells, xlAscending, Header:=xlNo 'au moins 2 cellules
qui curieusement relançait la macro SelectionChange qui ainsi bouclait sans fin.

Mais très curieusement cela se produisait seulement quand on sélectionnait B29 D29 F29 G29.

Et pas quand on sélectionnait C29 E29 H29 I29 J29...
 
Merci @job75
Comme toujours, une réponse très complète et opérationnelle
De mon côté cela fonctionnait car j'ai introduit directement tes changements dans mon fichier initial en l'adaptant.
Mais encore merci pour tous ces détails et explications qui me permettent de mieux appréhender la mécanique du code VBA
 
Ah mais j'ai finalement tout élucidé.

Le tri en colonne AM faisait planter Excel parce que la ligne 2 était masquée.

Dans ce fichier (2) elle est affichée, plus besoin des Application.EnableEvents.

Tout ça m'a permis de découvrir un problème que je n'avais jamais rencontré, merci bambi.
 

Pièces jointes

Voilà pourquoi cela a fonctionné sans souci dans mon fichier origine. Cette ligne n'y est pas masquée.
D'ailleurs elle n'était pas non plus masquée dans le fichier exemple que j'ai posté en tout début de thread.
Excel a ces propres mystères. 🙂
Encore bravo @job75 pour cette issue que je valide comme solution
Merci.gif
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
373
Réponses
12
Affichages
969
Réponses
9
Affichages
386
Réponses
40
Affichages
3 K
Retour