extraire les éléments d'une liste sans doublon

  • Initiateur de la discussion Initiateur de la discussion leon57
  • 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 !

leon57

XLDnaute Nouveau
Bonjour à tous, j'aurai aimer avoir de l'aide sur un problème que je rencontre,

j'ai une liste avec plusieurs serivces environ 1300 avec des services qui ressorte plusieurs je voudrai les extraire sans doublon et les envoyer dans un tableau de bord.

J'ai fait un filtre des services j'ai ensuite cocher l'option "extraire sans doublon" j'ai ensuite copier coller cette liste dans le tableau de bord0 Cependant j'aimerai savoir si il n'ya pas une méthode plus rapide via une formule ou une macro.

Mais j'ai un autre problème Chaque service fait l'objet d'un rejet avec un code et un motif de rejet je dois compter pour chaque service le nombre de rejet.
Rejet apres mandat "A2:A475"
Rejet avant mandat A476:A1333
J'ai utilisé la fonction NB.SI sa me donne les bons chiffre mais je voulais savoir si cette formule est adéquate.

Merci à tous
 

Pièces jointes

Re : extraire les éléments d'une liste sans doublon

Bonjour

Ta formule est adéquate mais ton tableau source est-il figé ? Car définir deux sections dans une même liste est un peu risqué.

J'ajouterais plutôt une colonne Mandat avec l'info avant ou après et l'utiliserais dans la formule ou un TCD.

En effet tu peux extraire la liste unique des services et le nombre de rejets par un TCD.

Si le look du TCD n'est pas adapté à ton T de bord : tu peux en récupérer le contenu par formule ou éventuellement par un copier collage spécial valeurs mais tu perd alors l'aspect dynamique.

Sinon un filtre sans doublon peut s'automatiser par macro :
Code:
 Sub Extraction()
    Sheets("TB svces").Activate
    Sheets("rejet globaux").Range("B:B").AdvancedFilter Action:=xlFilterCopy _
        , CopyToRange:=Range("B12"), Unique:=True
End Sub

Ton fichier en retour avec la macro, des formules NB.SI.ENS (pour exploiter la colonne ajoutée), le TCD qui est une autre solution.
 

Pièces jointes

Dernière édition:
Re : extraire les éléments d'une liste sans doublon

Bonsoir @ tous,
Salut chère Chris,
par exemple en B54 :
Code:
=SI(LIGNES($54:54)<=SOMME(1/NB.SI(B$13:B$49;B$13:B$49));INDEX(B$13:B$49;MIN(SI(NB.SI(B$53:B53;B$13:B$49)=0;LIGNE(INDIRECT("1:"&LIGNES(B$13:B$49))))));"")
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
Si tu veux une formule qui permet aussi le tri, dis le moi pour la réadapter...
Amicalement
 
Re : extraire les éléments d'une liste sans doublon

Bonjour à tous merci ces deux solutions marche très bien

Par contre j'aimerai comprendre comment agit le code sur la base de donnée car j'aimerai utiliser la même sur un tableau de bord similaire je sais que sheets veut dire feuille mais après je comprend pas bien comment sa agit
Range("B:B").AdvancedFilter Action:=xlFilterCopy _
, CopyToRange:=Range("B12"), Unique:=True

Je voulai savoir comment le tcd a été crée avec les deux colonnes avant et après car dans le tableau source il n'ya qu'une colonne avec les rejets avant et après mandatement

Pour la formule pouvez m'expliquez comment fonctionne le SOMME(1/NB.SI([ le INDEX(B$13:B$49;MIN(SI(NB.SI et le LIGNE(INDIRECT("1:"&LIGNES(B$13:B$49

Merci à vous
 
Re : extraire les éléments d'une liste sans doublon

Bonjour
Bise à Rachid

Bonjour à tous merci ces deux solutions marche très bien

Par contre j'aimerai comprendre comment agit le code sur la base de donnée car j'aimerai utiliser la même sur un tableau de bord similaire je sais que sheets veut dire feuille mais après je comprend pas bien comment sa agit
Range("B:B").AdvancedFilter Action:=xlFilterCopy _
, CopyToRange:=Range("B12"), Unique:=True

Cela applique un filtre avancé sans doublons sur la colonne B de la feuille rejet globaux et en extrait le contenu vers la feuille active sous la cellule B12

Je voulai savoir comment le tcd a été crée avec les deux colonnes avant et après car dans le tableau source il n'ya qu'une colonne avec les rejets avant et après mandatement

J'ai ajouté une colonne Mandat à ta feuille rejet globaux que j'ai remplie avec soit la mention Avant, soit la mention après, et j'ai utilisé cette colonne en titre de colonne du TCD.
Sans cette colonne ce n'était pas possible et de plus, comme je le disais dans le fil, couper une même plage en 2 sections est un peu risqué en cas de modification ultérieure


Pour la formule pouvez m'expliquez comment fonctionne le SOMME(1/NB.SI([ le INDEX(B$13:B$49;MIN(SI(NB.SI et le LIGNE(INDIRECT("1:"&LIGNES(B$13:B$49

Merci à vous

Pour la formule, je laisse le soin à Rachid de détailler : il aura fini avant que mon décodeur y arrive.
 
Dernière édition:
Re : extraire les éléments d'une liste sans doublon

Bonjour à tous
la formule marche bien, par contre quand comment faut il faire pour avoir le même résultat mais trié par ordre croissant
(de plus ce n'est qu'un détail mais est ce normal que quand je valide cette formule le style d'écriture change et les cellules s'entoure en gras)

Merci à vous
 
Re : extraire les éléments d'une liste sans doublon

Bonjour,
en B54 :
Code:
=SI(LIGNES($54:54)<=SOMME(1/NB.SI(B$13:B$49;B$13:B$49));INDEX(B$13:B$49;EQUIV(MIN(SI(NB.SI(B$53:B53;B$13:B$49)=0;NB.SI(B$13:B$49;"<"&B$13:B$49)));NB.SI(B$13:B$49;"<"&B$13:B$49);0));"")
@ valider toujours par Ctrl+Maj+Entree
@ tirer vers le bas
Amicalement
 
- 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
11
Affichages
255
Réponses
4
Affichages
477
Retour