Filtre mutiple sans

Bonjour,

je sollicite votre aide car je suis face à un problème qui dépasse mes compétences...

Je joins donc un fichier Excel avec 2 onglets :

10excel-tdb.xlsx (13.95 Ko)
  • Le premier le tableau de valeur qui s’incrémente
  • Le second qui va permettre de faire de l'analyse en récupérant le premier tableau et avec des filtres.

Mon soucis est le suivant:

  • En C4 je fais une liste déroulante pour filtre les données OU
  • En C5 , liste déroulante aussi avec domaine
  • En C6 , je souhaite pouvoir faire un filtre par date genre de 10 au 14/03

J'aimerais ensuite qu'en prenant en compte tous les filtre il remplisse les infos dans le tableau présent en dessous.

J'ai essayé avec un tableau croisé dynamique mais je suis bloqué quand il s'agit de faire des calculs genre "la moyenne" , puis pour les graphique car je souhaite 1 graphique pour les durées , 1 pour les moyennes , 1 pour .... et je ne peux pas faire plusieurs graphique. j'ai vus qu'il existait une fonction segment mais je ne connais pas donc...

est-ce possible par un autre moyen ?

Bonjour et

Une première version sur le filtrage

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A5:F5")) Is Nothing Then Exit Sub
    Sheets(1).Range("A2").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A8:F9"), CopyToRange:=Range("H3:L3"), Unique:=False
End Sub
2excel-tdb.xlsm (21.63 Ko)

Bonjour

Je viens de regarder ton pb.

Ci joint une proposition :

  • j'ai transformé ta base en tableau dynamique ( Insertion tableau)
  • j'ai inséré des segments ( menus Analyse tableaux croisés), tu peux en rajouter autant que tu veux
  • ce sont des filtres hyper conviviaux ( docs sur internet: Slicers ou segments)

un pb : tes dates comportent des heures, pour filtrer il faudrait que els heures soient identiques; une solution des colonnes cachées au sein du tableau avec uniquement la date. comme des sélections multiples sont possibles le segment fonctionnera

A regarder

Cordialement

FINDRH

5excel-tdb.xlsx (21.25 Ko)

Bonjour,

Je vous remercie tout les deux , j'ai regardé vos réponses et je dois dire que celle de FINDRH me plait mieux , car elle est plus flexible toutefois cela se rapproche de ce que j'avais fait avec un TCD mais j'ai rencontré plusieurs soucis :

- Le tableau initiale est très grand (des milliers de lignes) et le filtre par date est compliqué. avec mon TCD j'avais fait une chronologie et c'etais plus exploitable, on peut le faire a la place des segments ?

- Vus que mon tableau initiale est trés grand j'aurais aimé avoir les données extrait sous une autre feuilles pour faire une mise en forme et l'imprimer directement ensuite, du coup ne pas toucher a la base initiale, c'est possible ?

- J'ai des heures dans mes dates car ce sont ces heures qui me permettent de calculé la durée 2 par différences. Du coup je ne peux pas y toucher.

Merci par avance pour vos propositions.

J'avais regardé aussi les filtres avancés mais je n'ai pas réussis a faire ce que je voulais.

@ herbe10

J'avais regardé aussi les filtres avancés mais je n'ai pas réussis a faire ce que je voulais.

Dis moi ce qui coince, je peux continuer à t'aider ... car cela semble correspondre à ton souhait : extraction sur une autre feuille, gestion des dates sans modification de colonne. La macro est hyper simple et elle peut être adaptée facilement.

@FINDRH : j'ai vu ta proposition ... ma question est : peut-on faire des groupes de dates comme pour un TCD ?

Pour le filtre avancé mon problème : J'ai joint le fichier avec une 3 eme feuille dedié pour expliqué mon soucis

  • Le champ domaine n'est pas pris en compte car je pense qu'il faut que je répéte à chaque ligne
  • Si je modifie mon "OU", la mise à jour de la recherche ne se fait pas automatiquement
  • Peut-on insérer une colonne calculé genre "Durée moyenne" et faire un calcul ?
5excel-tdb.xlsx (16.50 Ko)

Ok mais je ne savais pas qu'il pouvait y avoir plusieurs valeurs sur un même critère (ce que permet les filtres).

Et puis globalement, chaque ligne est un ou bien, donc dans ton cas, la rédaction signifie

ou=1111 et domaine=C
ou bien ou=1126 (sans critère sur domaine)

Je vais donc reprendre ... Y a t'il un lien à conserver entre les OU et les domaines ? ou bien prend-on toutes les combinaisons ?

Bonsoir,

Alors aucun lien entre les "OU" et les "Domaines" , Je veux pouvoir en sélectionner L'un sans l'autre et pouvoir en sélectionner 1 , plusieurs , Aucun.

C'est d'ailleurs la même chose avec mon critére "Date"

Il faudrais je vous mette aussi mon fichier avec mon essai de TCD mais de toute facon je suis bloqué ensuite car on ne peux pas faire plusieurs graphique

Wahou, cela se corse ... je verrai jusqu'où je peux aller "simplement" !

Premier (second) jet ... il me reste à connaître les formules que tu souhaites ajouter ... et lever un doute : veux-tu ajouter ensuite "à la main" d'autres informations sur l'extraction ?

Pour plus de clarté, j'ai séparé les critères sur un onglet.

L'extarction est automatique si macro activées.

9excel-tdb.xlsm (21.79 Ko)

Explications ...

La cellule A3 contient les conditions pour la première ligne de la BDD

=ET(
NB.SI(criteres!A:A;data!O3); data!O3<>"";
NB.SI(criteres!C:C;data!E3); data!E3<>"";
data!M3>=criteres!F2; data!M3<=SI(criteres!F3="";73050;criteres!F3);
data!N3>=criteres!G2; data!N3<=SI(criteres!G3="";73050;criteres!G3)
)

et le code suivant extrait les données lors de l'activation de la feuille.

Private Sub Worksheet_Activate()
    Sheets("data").Range("A2").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("extraction!Criteria"), CopyToRange:=Range("extraction!Extract"), Unique:=False
End Sub

Alors c'est déja beaucoup mieux !!

Par contre est-ce possible :

  • Mettre les critéres et l'extraction sur la même feuille ?
  • Pour les criteres "OU" et "Domaine" , cela peut etre des listes déroulantes ?
  • Dans l'extraction remplacer la colonne "Numéro" par "Dossier" , puis rajouter "Soldée" , "Probléme" et "Travaux"

- Pour les calculs enfaite je souhaite rajouter une ligne tout en bas de l'extraction et calculé :

Le nombre de soldé total genre 2/4 si il y a 2 "S" sur 4 lignes

J'ai un problème pour un calcul de temps moyen car cela doit se faire sur un même dossier, cela devrait dire que je ne fait apparaître qu'une seule ligne par dossier... Je vais voir après

je viens de voir ta seconde réponse.

Cela veut dire que tu ne peux pas regrouper les Critéres et Extraction sur la même feuille ?

je viens de voir ta seconde réponse.

Cela veut dire que tu ne peux pas regrouper les Critéres et Extraction sur la même feuille ?

si si c'est possible !

- Pour les criteres "OU" et "Domaine" , cela peut etre des listes déroulantes ?

Est-ce qu'il y en a pour construire la BDD ? sinon je vais en créer.

- Dans l'extraction remplacer la colonne "Numéro" par "Dossier" , puis rajouter "Soldée" , "Probléme" et "Travaux"

ok

mais à la limite, tu as la main là-dessus en ajoutant les en-têtes de colonnes

il faut impérativement que les noms correspondent avec ceux d la BDD et que le nom "Extraire" couvre bien la nouvelle plage.

Ok je vais essayer pour les colonnes

Non il n'y a aucune liste déroulante existante.

Je te joint le fichier avec un onglet TCD pour te montrer ce que j'ai voulus faire. Je trouve cela trés pratique avec les segments et la chronologie mais les données qui s'affiche dans le TDB ne reprenne pas les valeurs que je souhaite (Genre les Soldés il m'en affiche 3 alors que j'en ai que 2 pour les 1206...)

Ce qui est dommage c'est de ne pas pouvoir avoir la sélection par segment + chronologie sur le filtre avancé.

5excel-tdb-1.xlsm (34.53 Ko)

il reste à faire les menus déroulants, mais c'est facile à faire : je te laisse les mettre en place

3excel-tdb-1.xlsm (21.86 Ko)

Je trouve cela trés pratique avec les segments et la chronologie

je pense que cela doit être faisable sur un tableau de données, mais je ne sais pas avec quelles limites, notamment sur le fait d'exporter les résultats dans un autre onglet.

Autre question :

Je sélectionne mes "Ou" dans ma liste déroulante. Est-ce possible de créer un nouveau numéro genre 2000 qui regroupe enfaite plusieurs numero.

Du coup quand j'appel mon numéro 2000 cela fait appel a 1111 + 1126 + 1115 par exemple ?

Si on veut rester simple et cohérent, il faudrait que ce code de regroupement figure aussi dans la BDD.

Rechercher des sujets similaires à "filtre mutiple"