Filtres multiples après validation

SEP54

XLDnaute Junior
Bonsoir à toute la communauté, et je réédite mes meilleurs vœux de santé et de prospérité à tous.

:mad: Je galère sur un exemple de filtre qui consiste à choisir des 2 groupes par l'intermédiaire de 2 menus

déroulants à défilements et seulement après d'effectuer le filtre sur ces 2 choix (tout cela dans cet ordre).

Je joins un fichier complètement nettoyé et grandement réduit pour que vous puissiez me proposer les macros

adaptés.

Les explications sont mentionnées dans fichier. ;)

Merci d'avance à la personne qui saura me dépanner. :)

SEP54
 

Pièces jointes

  • filtre-multiple.xlsm
    27.4 KB · Affichages: 74
  • filtre-multiple.xlsm
    27.4 KB · Affichages: 73
  • filtre-multiple.xlsm
    27.4 KB · Affichages: 77

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : HELP HELP Re : Filtres multiples après validation

Bonjour SEP54,

Je n'arrive pas à reproduire l'erreur dans le fichier joint. Quand tu évoques "ajouter des critères", c'est bien dans les colonnes B, D,F ? J'ai ajouté quelques critères à la suite de ceux qui étaient présents,et, ils ont bien été pris en compte.

Il va falloir m'en dire un peu plus sur la manip qui conduit à l'erreur. Si possible, indiquer aussi à quelle ligne le code se plante.

@+
 

SEP54

XLDnaute Junior
Re : HELP HELP Re : Filtres multiples après validation

Bonjour Mr MAPOMME,

Je n'y comprends plus rien ça marche sur le fichier joint effectivement, mais pas dans mon fichier destination (ci-joint une copie du bug)

Aurais-tu une idée?
 

Pièces jointes

  • bug-sur-mon fichier-origine.jpg
    bug-sur-mon fichier-origine.jpg
    40.8 KB · Affichages: 50

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Filtres multiples après validation

RE,

On avance. Quand la macro se plante, regarder quelle est la valeur actuelle de i. Cette valeur sera la valeur du filtre i en cours de traitement (1 ou 2 ou 3).Une fois connu quel filtre i fait planter, regarder la valeur Indexi et celle du ième critère dans la colonne des critères du filtre i.

Pour voir la valeur de i, sélectionner i dans le code, cliquer droit et sélectionner ajouter un espion puis OK. En passant le souris sur le i, sa valeur devrait aussi s'afficher.

Procéder de même pour la valeur de Indexi en ajoutant l'espion : Range("index" & i)
Procéder de même pour la valeur de du ième crtitère en ajoutant l'espion : Range("Crit" & i)(Range("index" & i))
 
Dernière édition:

SEP54

XLDnaute Junior
Re : Filtres multiples après validation

RE,

Les chiffres ne correspondent pas j'ai 2 valeurs différentes 1 et 5

Malheureusement mes compétences me permettent pas d'en tirer une action

have a look at my 3 files...

La cause la plus plausible est la dernière pièce jointe mais je ne vois pas de groupe de cases nommées !

comment est tu arrivé à l'intitulée "Intit1" ? car il ne semble pas que ce soit un groupe des caseS nommées
 

Pièces jointes

  • Recherche-debug-3.jpg
    Recherche-debug-3.jpg
    61 KB · Affichages: 41
  • Recherche-debug-2.jpg
    Recherche-debug-2.jpg
    62 KB · Affichages: 45
  • Recherche-debug-1.jpg
    Recherche-debug-1.jpg
    44.7 KB · Affichages: 43
  • cause-la-plus-plausible.jpg
    cause-la-plus-plausible.jpg
    38.4 KB · Affichages: 38
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Filtres multiples après validation

re,

i vaut 1 -> on travaille donc sur le filtre 1
Range("index" & i) vaut 5 -> donc on travaile avec le 5 ième critère du filtre 1 (c'est à dire de la colonne B)

Ce critère est ramené par Range("Crit" & i)(Range("index" & i)).

Or ce terme n'est pas défini comme le montre la copie d'écran (expression non définie dans le contexte). Pire cette expression est attribuée au niveau de Module1 et non Module1.filtrage comme il se devrait.

Une expérience (à tout hasard - enfin presque)
  • Aller sur la feuille Feuil2 du fichier qui bogue
  • Appuyer sur la touche de fonction F5
  • Dans le boîte de dialogue qui s'ouvre, dans la zone Référence:, saisir Crit1 puis OK.


Normalement Excel devrait sélectionner la zone des critères du filtre 1 en colonne B. Est ce le cas ?
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Filtres multiples après validation

Bonsoir SEP54,

Je penche plutôt pour un nom pas défini ou qu'on croit avoir défini mais avec un nom mal orthographié.

Vérifier les noms que vous avez créés: Crit1 à 3, Intit1 à 3, Index1 à 3 et Colonne_Filtre1 à 3 (par le menu Formules / Gestionnaire de noms)
 
Dernière édition:

SEP54

XLDnaute Junior
Re : Filtres multiples après validation

ça avance, j'ai trouvé des erreurs de syntaxe.

Maintenant ça filtre sur les 3 filtres mais j'ai toujours un bug sur la même ligne de macro à la fin d'un filtrage. (voir fichier joint)

Comportement du filtre: le filtre se fait puis reste un moment en réflexion avant d'arrivé au bug

Je deviens fou :mad:, heureusement que je profite de ton expertise. :p
 

Pièces jointes

  • cause-la-plus-plausible1.jpg
    cause-la-plus-plausible1.jpg
    67.9 KB · Affichages: 36

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Filtres multiples après validation

re,

On va y arriver :), enfin, j'espère :rolleyes:

Si les trois filtres se font, c'est qu'on passe au moins trois fois dans cette boucle. Donc il y a encore autre chose.

le filtre se fait puis reste un moment en réflexion avant d'arrivé au bug
On ne lui a jamais demandé de réfléchir à cette macro ! :D

Il faudrait re-vérifier la valeur de i au moment du plantage.
 

SEP54

XLDnaute Junior
Re : Filtres multiples après validation

Bonsoir à tous, ;)

Je n'arrive pas à trouver l'erreur sur mon GROS fichier final, les 3 filtres fonctionnent mais j'arrive toujours sur la fenêtre de débug et la ligne

s = Range("Crit" & i)(Range("index" & i)) [ erreur d'éxécution '1004' La méthode 'range' de l'objet'_Global' a echoué ]

Voir la capture d'écran ci-joint.

Je suis en limite de compétence...HELP HELP HELP :( :confused:


SEP54
 

Pièces jointes

  • bug-fichier-destination.jpg
    bug-fichier-destination.jpg
    67.2 KB · Affichages: 39
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Filtres multiples après validation

Bonsoir SEP54 :)

La capture d'écran montre que le bug se produit dans la boucle d'indice i avec i=4.

Or il n'y a que 3 filtres. Donc il est anormal d'être dans le corps de la boucle avec i=4.

L'indice supérieur de la boucle est: Feuil2.Range("a2").CurrentRegion.Columns.Count / 2
Que simule cette expression?
.
  • C'est l'équivalent de se placer sur la feuille Feuil2 dans la cellule A2.
  • Puis de faire Ctrl+*
  • La zone des filtres devrait être sélectionnée et seulement cette zone.
  • On prend le nombre de colonne de cette zone (théoriquement 6 si il y a trois filtres => colonnes A,B,C,D,E,F)
  • On divise le nombre de colonnes par 2 et on trouve 3.
  • i varie donc de i = 1 à 3.

Or on trouve 4. cela signifie que la colonne G n'est sans doute pas vide et que la sélection par Ctrl+* sélectionne une zone au delà de la colonne F.

Pour être sûr, on peut inscrire en dur la valeur supérieure de la boucle d'indice i.

Remplacer la ligne:
Code:
For i = 1 To Feuil2.Range("a2").CurrentRegion.Columns.Count / 2
par la ligne
Code:
For i = 1 To 3

Cela devrait mieux fonctionner.


Ou bien assurez vous , si vous avez bien 3 filtres, que la colonne G est complètement vide.
(avec 2 filtres, c'est la colonne E qui doit être vide)

A+
 

SEP54

XLDnaute Junior
Re : Filtres multiples après validation

Bonsoir à tous,

Merci pour votre investissement à tous. ;) Problème résolu avec uniquement la dernière méthode, j'ai eu beau

détruire quelques colonnes à partir de G rien ne s'est passé pour la première méthode. :D

Mr MAPOMME reste néanmoins le professeur en ce qui concerne mes diverses demandes d'hier et d'aujourd'hui. :eek:

Merci, mille fois, dommage que l'on ne puisse pas noter les qualités pédagogique et les compétence des personnes

qui le méritent grandement, ainsi que l'investissement.;)

chapeau bas à tous ! :)

A très bientôt dans une autre discussion! :rolleyes:

SEP54
 

SEP54

XLDnaute Junior
Re : Filtres multiples après validation

Bonsoir à tous,

Merci Bebere de nous proposer une autre solution mais personnellement, je ne suis pas fan sur le contexte de mon fichier final.

Je chercher sur le dernier fichier de MAPOMME à avoir un bouton qui m'enlèverait tous les filtres (ca je sais faire!) mais qui surtout les réinitialiseraient dans les 3 menu déroulants sur la position aucun filtre.

Merci d'avance

SEP54
 

Statistiques des forums

Discussions
312 469
Messages
2 088 691
Membres
103 921
dernier inscrit
hhhh