Faire un "OU" dans un TCD

mécano41

XLDnaute Accro
Bonjour à tous,

Dans un TCD :

- j'ai, entre autres, un champ A et un champ B
- je souhaite extraire toutes les lignes dont la valeur dans le champ A est comprise entre 2 et 5 OU dont la valeur dans le champ B est comprise entre 200 et 500 ou bien si l'on a les deux à la fois

Par filtrage des champs A et B on n'obtient évidemment qu'un ET. Je pensais à un champ calculé mais malheureusement, ensuite on ne peut pas filtrer dessus ... (enfin... je n'ai pas trouvé comment...). Les divers tutos ne donnent rien là-dessus, cela doit pourtant être un cas courant!...

Alors, comment faire?

Merci d'avance

Cordialement
 

Celeda

XLDnaute Barbatruc
Re : Faire un "OU" dans un TCD

Bonjour,

Bonne année Mecano,

Peux-tu placer un fichier exemple : en effet, les filtres peuvent aider ou bien si cela n'est pas possible
travailler dans la base de données directement; à voir selon ton fichier zippé et sans info confidentielles et allégé.
 

mécano41

XLDnaute Accro
Re : Faire un "OU" dans un TCD

Bonne année à toi aussi (et à tout le monde! Désolé je suis passé à côté!)

Voilà le fichier épuré (je ne l'ai pas zippé, cela ne gagnait pratiquement rien)

J'ai supprimé les feuilles inutiles et tous les noms de personnes sont bidons... A ce sujet, j'ai modifié plusieurs fois les noms dans la base ; cela s'est bien répercuté dans le TCD mais des noms composés qui n'existent plus restent dans la liste de sélection du TCD ... bizarre non? ....

Enfin, le problème est :

- sélectionner les lignes dont la valeur dans la colonne Kair est comprise entre 2 et 5 par ex. OU dans la valeur dans la colonne PDS est comprise entre 200 et 500
- il faudra peut être le faire soit avant, soit après la sélection de la date et du nom car il y aura plusieurs types de sélection(il faudra que je voie si je crée plusieurs TCD avec des filtres différents ou bien si j'en recrée un à chaque fois par VBA...je penche pour la première solution...)
- tout fonctionne en VBA à partir des sélections effectuées dans une boîte de dialogue (ça fonctionne lorsque je peux filtrer...)

J'avais commencé par travailler directement sur des filtres de la base mais c'est trop limité et il aurait fallu passer par des recopies de tableaux filtrés ; je ne pense pas que ce soit très orthodoxe... alors je passe au TCD mais je ne connais pas encore bien...c'est une bonne occasion d'en savoir un peu plus.

Le champ "Somme de Champ1" est un champ calculé par = OU(ET( ...etc ; il fonctionne mais ne peut être filtré. Question également, si l'on retourne dans Options/Calculs/Champs éléments et jeux/Champ calculé, on ne retrouve plus la formule que l'on y a mise...pourtant elle fonctionne ... alors, c'est où?

Si tu peux me donner quelques éclaircissements, je t'en saurai gré.

Merci d'avance

Cordialement
 

Pièces jointes

  • Traitement données (essai).xlsm
    79 KB · Affichages: 53

mécano41

XLDnaute Accro
Re : Faire un "OU" dans un TCD

J'ai écrit :
"... A ce sujet, j'ai modifié plusieurs fois les noms dans la base ; cela s'est bien répercuté dans le TCD mais des noms composés qui n'existent plus restent dans la liste de sélection du TCD ... bizarre non? ...."

Par curiosité, j'ai mis le même nom sur toutes les lignes de la base ; résultat : tous les noms restent dans la liste du filtre...Y-a-t-il un endroit où il faut l'effacer?

Cordialement
 

Celeda

XLDnaute Barbatruc
Re : Faire un "OU" dans un TCD

Bonsoir,

Mecano,

svp peux-tu enlever ton fichier (je l'ai récupéré mais il contient plein de noms) et justement
il faut garder la confidentialité. Tu peux les remplacer par toto, titi, ect....
Nous avons actuellement un fil en discussion sur les fichiers anonymes et
ton exemple est effectivement un bel exemple.
https://www.excel-downloads.com/threads/fichier-anonyme.175465/

Merci Michel pour les old items.

Je regarde ton fichier.
 
G

Guest

Guest
Re : Faire un "OU" dans un TCD

Bonsoir tous,

Effectivement Mécano, manque plus que leur numéro de sécu.

Pour ton problème, la seule solution que je vois (mais je ne suis pas un grand spécialiste) est de faire une colonne supplémentaire dans ta base avec ta formule qui est actuellement dans le champ calculé.

Pour les items à partir de xl2007, click dans une cellules du TCD->options du tableau croisé dynamique->onglet 'Données"->combobox 'nombre d'items à retenir par champ' -> choisir 'Aucun'

ce qui nous donne en VBA
Code:
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.MissingItemsLimit = xlMissingItemsNone

A+
 

JCGL

XLDnaute Barbatruc
Re : Faire un "OU" dans un TCD

Bonjour à tous,
Salut Marie,
Salut Michel,

J'ai rajouté une colonne avec en R :
= OU(ET(N4>=2;N4<5);ET(L4>=200;L4<500))*1
  • Ajout d'un segment pour filtrer les 0 et les 1
  • Nettoyage des items (j'ai laissé le code dans le VBE)
A++
A + à tous

Edition : Pas vu la présence de mon ami GES sur cette discussion... Salut mon Ges...
 

Pièces jointes

  • JC Traitement données.xlsm
    81.7 KB · Affichages: 46
Dernière édition:

mécano41

XLDnaute Accro
Re : Faire un "OU" dans un TCD

Merci à tous,

Comme je l'avais indiqué en préambule : "J'ai supprimé les feuilles inutiles et tous les noms de personnes sont bidons... " Ce sont des noms fabriqués, modifiés et remodifiés qui ne correspondent à rien!

Pour les items de la liste, en appliquant ce qu'a dit Hasco, il n'y a plus de problème donc le défaut a bien été corrigé (encore faut-il connaître la bonne démarche! Merci Hasco!)

Pour le reste, je vais voir mais comme la base va être constamment remise à jour, je trouve quand même bizarre d'être obligé de la bricoler avant de l'utiliser ... C'est justement ce que je voulais éviter en utilisant les TCD.

Merci à tous

Cordialement
 

Celeda

XLDnaute Barbatruc
Re : Faire un "OU" dans un TCD

Bonsoir,

entre deux choses ou trois (c'est la spécialité des femmes) ...super la suite
j'ai rien vu,rien essayé mais en tout cas, super la troupe le ....forum...xldien...vba...
je repars merci xld hasco, jc, michel........mecano tu es entre bonnes mains......
c'est comme le cirque....une vraie famille!!
 

mécano41

XLDnaute Accro
Re : Faire un "OU" dans un TCD

...Ajout d'un segment pour filtrer les 0 et les 1

Bonsoir,

à JCGL : je viens de me rendre compte en relisant ton message que j'avais complètement occulté cette phrase ... Désolé! Elle est pourtant très importante puisque cela fonctionne!

Je te remercie pour cette info.

Cordialement

EDIT : en fait j'ai mal vu ... j'ai cru que cela fonctionnait sur le champ calculé mais c'est uniquement par la présence de la colonne supplémentaire de la base : tant pis et merci quand même.
 
Dernière édition:

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux