Filtrage de données sur plusieurs colonnes

Bonjour,

Peut-être que tu le sais mais tu as mis ton fichier en .xlsx.

Quand il y a des macros il faut enregistrer au format .xlsm sinon elles partent.

D'autre part pour accélérer j'ai ajouté une colonne Filtre en AZ, il faut qu'elle soit présente et incluse dans le filtre auto.

J'ai changé le surlignage pour être compatible avec ta MFC : s'il y a un lien photo qui correspond aux critères il est surligné en rouge.

eric

9extrait-2.xlsm (195.72 Ko)

Bonjour,

J'ai tout recopié, le code, la colonne filtre en AZ incluse dans le filtre auto, le fichier en .xlsm tout est exactement pareil mais ça ne marche pas. En plus il me dit dans le débogage que c'est toujours cette ligne qui coince

derlig = shList.Cells(Rows.Count, "B").End(xlUp).Row

Et celle la aussi de temps en temps

If .AutoFilterMode And .FilterMode Then

Romain

Bonjour,

Bon là on tourne en rond...

Tu n'as pas oublié le code dans Thisworkbook au moins ???

Fais l'inverse, copie tes données dans le fichier que je te fourni.

Si tu as toujours l'erreur dis moi exactement quelles manips tu fais après ouverture pour obtenir cette erreur (déposer le fichier xlsm avec les macros).

eric

Bonjour Eric,

Apres avoir fermé le fichier et réouvert, le programme fonctionne très bien. Je ne sais pas ce qui coinçait car j’étais retourné sur la feuille liste plusieurs fois sans que le problème ne se règle. A moins que tu ai encore des modifications a faire je pense que je peux mettre ce sujet comme résolu... ?

Romain

Bonjour,

j’étais retourné sur la feuille liste plusieurs fois sans que le problème ne se règle

Sans doute le Private Sub Worksheet_Deactivate() oublié dans Feuil2(Listes)

eric

Bonjour,

Sans doute le Private Sub Worksheet_Deactivate() oublié dans Feuil2(Listes)

Non j'avais absolument copié toutes les feuilles exactement comme dans ton fichier (copier/coller)

Mais c'est bon tout marche comme je veux... enfin presque: j'ai ajouté une colonne "chiffre d'affaire" en L, donc forcement le programme ne fonctionne plus, je sais que ce n'est pas très compliqué à déboguer mais je ne m'y connais pas du tout. Un dernier coup de main de ta part serait la bienvenue Je te joint le fichier avec la colonne en plus. Merci Eric pour toute ton aide et ta rapidité de réponse.

Romain

7extrait-2.xlsm (199.53 Ko)

Bonjour,

je sais que ce n'est pas très compliqué à déboguer

Détrompe-toi.

En vba changer la position des données sur les feuilles devient vite casse-gu... si ça n'a pas été prévu au départ. On peut se retrouver avec des bugs qui réclament beaucoup de temps, ou pire qui ressortent 3 mois plus tard.

Il faut bien penser son truc et être précis dès le départ.

J'ai modifié. Je me base sur le champ 'Date' de la ligne 2 pour trouver la 1ère cellule. Tu peux insérer devant autant de colonnes que tu veux. Par contre hors de question d'ajouter un autre champ même nom devant. Date2 ou autre tu peux.

eric

6extrait-2-1.xlsm (195.88 Ko)

Bonjour,

J'ai téléchargé ton fichier, j'y insère une colonne en L que je nomme CA, et ça ne marche pas, même si je vais dans la feuille "listes" ou que je sauvegarde, ferme le fichier et le rouvre. C'est cette ligne qui apparemment pose problèmes:

derlig = shList.Cells(Rows.Count, "B").End(xlUp).Row

Quand je supprime cette colonne à nouveau, je vais dans la feuille listes, et retourne dans Feuil1, ça remarche.

Romain

Bonjour,

Cette ligne en erreur correspond au sub init non lancé. Je ne comprend pas pourquoi son lancement échoue parfois chez toi. N'oublie pas le code de thisworkbook.

Je l'ai déplacé de deactivate de Listes vers l'activate de Feuil1. Ca fera toujours un copier-coller de moins pour le code.

Je l'ai aussi ajouté au bouton Raz, ça évitera l'aller-retour entre feuilles.

Ceci dit j'avais oublié des modifs. Il faut dire que je n'avais même pas testé, et ces changements impactent à tant d'endroits... :-s

J'espère que je n'ai rien oublié ce coup là.

eric

9extrait-2-1.xlsm (196.73 Ko)

Bonjour Eric,

C'est bon tout remarche a merveille J'ai montré ça à mon supérieur, il est ravi mais aimerais qu'on puisse mettre un critère de dates. Par exemple avoir la liste des clients qui ont fait des FenPVC entre le 1 Janvier 2009 et le 31 Decembre 2010. Est ce possible ? Je sais que je reviens sans arrêt avec autre chose et que tu dois changer le code à chaque fois... je suis vraiment désolé

Romain

Bonjour,

il y a du boulot, il va falloir attendre un peu selon le temps que j'aurais de disponible.

eric

Cliquer sur "De ... à ..." en L2 pour choisir dates.

Je n'ai pas utilisé de DatePicker excel mais un truc perso, trop de versions différentes selon les excels.

On peut remplir soit "De", soit "à", soit les 2.

Une date vide est considérée comme valide.

C'était un peu ardu. J'ai débogué pas mal, il en reste peut-être.

A toi de bien tester pour ressortir les bugs assez vite, tant que c'est frais dans ma mémoire. La semaine prochaine ça sera un peu trop tard...

eric

14extrait-2-3.xlsm (212.22 Ko)

Bonjour,

A l'ouverture du fichier la recherche fonctionne, mais si après je veux changer les dates, il me met un message d'erreur. Je doit alors changer de feuille et ça refonctionne.

Ensuite, c'est un fichier qui une fois terminé va être mis a jour quand on a de nouveau clients. J'aimerais pouvoir n'insérer qu'une seule date en "de", appuyer sur ok et qu'il me sorte les clients jusqu’à aujourd'hui.

Evidemment quand je vais ajouter un client, la date maximum présente dans le tableau va changer, donc est ce que je pourrais ensuite choisir cette date ou je devrais la changer dans la feuille "listes" en Z?

Romain

Bonjour,

il me met un message d'erreur

C'est tout ?

J'aimerais pouvoir n'insérer qu'une seule date en "de", appuyer sur ok et qu'il me sorte les clients jusqu’à aujourd'hui.

Tu peux actuellement. Si tu mets avril 2014 tu auras les lignes de avril à juillet, si tu mets juillet 2014 ceux de juillet.

A moins d'un bug...

Evidemment quand je vais ajouter un client, la date maximum présente dans le tableau va changer, donc est ce que je pourrais ensuite choisir cette date ou je devrais la changer dans la feuille "listes" en Z?

A chaque init (ouverture, changement de feuille, raz) la liste est crée avec les années mini-maxi trouvées dans les datas.

eric

Il me met "valeur de propriété non valide" en message d'erreur.

Quand je met par exemple de Mars 2012, à rien du tout, il me surligne le seul client qui correspond mais affiche toujours les autres. Et ça je ne veux pas.

La RAZ ne fonctionne pas tout le temps, je crois qu'il faut cliquer plusieurs fois dessus pour que ça fonctionne et encore pas toujours. C'est un peu aléatoire... Une fois j'ai ce message d'erreur, une fois je peux choisir le mois mais pas l'année, une fois la RAZ ne fonctionne pas, des fois il me trouve les clients correspondants a mes recherches mais ne supprime pas les autres, il surligne simplement. Et des fois ça marche correctement.

Romain

Il me met "valeur de propriété non valide" en message d'erreur.

J'ai constaté mais, vu qu'il n'annonce pas de ligne de code en erreur, pour l'instant je ne vois pas ce que c'est.

Ca n'a pas l'air bloquant.

il me surligne le seul client qui correspond mais affiche toujours les autres

Je t'ai dit que je considérais comme valide une date absente pour ne pas les éliminer à tort.

Est-ce que ces lignes ne correspondent pas aux 'Réalisé 5' où tu n'as mis qu'une seule date ?

Si tu veux que ceux sans date soient éliminés tu dis.

La RAZ ne fonctionne pas tout le temps

Non constaté.

Quels filtres restent actifs ?

Sur le même fichier ou un plus complet ?

Essaie de donner le maximum de détails quand tu signales qq chose, ainsi que les manip à faire pour reproduire l'erreur...

eric

Bonjour

Si tu veux que ceux sans date soient éliminés tu dis

Eh bien je dis

Quels filtres restent actifs ?

Par exemple je met en filtre de mars 2012, OK.

Il me sort les clients... et apres si je clique une seule fois sur RAZ, le mars 2012 n'a pas disparu dans les filtres. Je suis obligé de marteler la RAZ pour que ça fonctionne. Après c'est peu être dû a ma vieille bécane.

Romain

Bonjour,

donc version avec dates non saisies non retenues.

Pour le raz je n'ai pas de soucis.

Si tu parles de la boite de dialogue (être précis et complet...) c'est normal qu'elle soit pré-sélectionnée avec l'ancien filtre, tu pourrais très bien vouloir simplement le mois suivant. Si tu veux une raz sur 'De' ou 'à', sélectionner le champ vide en haut de liste ou faire Suppr sur l'un ou l'autre champ.

eric

28extrait-2-3.xlsm (212.83 Ko)

de rien...

Bonjour Eric,

Je suis désolé du temps entre aujourd'hui et mon dernier message, j’étais occupé je n'avais vraiment pas le temps a m'occuper de ce fichier excel.

J'ai copié tout ce que vous avez fait mais j'ai surement dû oublier quelque chose puisque lorsque j'ouvre mon nouveau fichier avec les dates, je peux ouvrir la boite de dialogue pour sélectionner les dates que je veux. Je clique sur OK et la message d'erreur, je clique sur débogage et il me met que c'est ici que ça coince

Feuil1.filtrer 

dans Private Sub LblOk_Click().

Après ce plantage, la RAZ ne fonctionne plus je dois rouvrir le fichier pour pouvoir de nouveau ouvrir cette boite de dialogue.

Romain

Rechercher des sujets similaires à "filtrage donnees colonnes"