Recherche avec plusieurs valeurs (avec une valeur par occurrence)

Bonjour tout le monde,

Je suis à la recherche d'une formule excel ou VBA (à voir le plus léger/pratique), qui me permettrait de trouver plusieurs valeurs par rapport à une recherche sur un mot.

Comme le fichier ci-joint pourra vous le montrer, j'ai plusieurs colonnes (sur le fichier joint il n'y a que celle utile à la recherche), mon but serait de retrouver par exemple pour le CHENE toutes les épaisseurs présentes, sachant qu'il peut y avoir plusieurs fois la même occurrence et dans ce cas je souhaite n'en garder qu'une (exemple si j'ai trois fois 16, deux fois 38 et quatre fois 58, je ne veux retrouver qu'une fois chacune de ces valeurs).

Je ne sais pas si je suis assez clair dans la demande n'hésitez pas si ce n'est pas le cas.

Je connais une ou deux formules qui peuvent me retrouver les différentes valeurs, mais hélas aucunes des deux ne fait le travail ... et en VBA je ne serais pas le faire.

Merci d'avance à vous et bonne journée,

Cordialement,

Bonjour,

On ne sait pas quel usage tu vas faire ensuite des données ... si tu veux simplement afficher une synthèse, pourquoi pas avec un Tableau Croisé Dynamique ? 4-5 clics de souris donnent le résultat joint (Feuil2)

Attention un des "HETRE" en Feuil1 contenait un caractère d'espacement en dernière position. J'ai corrigé dans le fichier joint.

7tcd-kinders59.xlsx (13.13 Ko)

Oups désolé j'ai oublié de préciser le but final, en fait, j'en ai besoin dans un autre onglet, il faut donc que je passes par autre chose qu'un TCD si possible. Le but serait en gros dans un autre onglet dans différentes colonnes retrouver les résultats, je fais déjà dans un autre onglet cette formule :

=SIERREUR(INDEX(Modele!$D$2:$D$1000;PETITE.VALEUR(SI(FREQUENCE(SI(Modele!$D$2:$D$1000<>"";EQUIV(Modele!$D$2:$D$1000;Modele!$D$2:$D$1000;0));LIGNE(Modele!$D$2:$D$1000)-LIGNE(Modele!$D$2)+1);LIGNE(Modele!$D$2:$D$1000)-LIGNE(Modele!$D$2)+1);LIGNES(B$2:B2)));"")

Qui me permet de retrouver tous mes modèles mais de manière unique, et derrière je voudrais alors intégrer mes épaisseurs (si il faut une colonne par épaisseur au lieu d'une seule cellule avec un système de séparateur type ";"). Tout en sachant que comme dit dans le message 1, je ne veux pas retrouver plusieurs fois une même valeur

Je ne sais pas si c'est plus clair (le TCD je préfère éviter car j'ai quand même déjà pas mal d'onglet, de formule et de VBA j'ai peur de trop rajouter avec ça surtout que le fichier n'est pas rempli par moi mais un fournisseur et je préfère donc éviter.)

Merci à toi !

Re-bonjour,

Je ne sais pas si c'est plus clair

Euh ... le TCD fait aussi une liste sans doublons de tes modèles, non ?

Bonjour kinders59, U.Milité, le forum,

Un essai....

21demande-aide.xlsx (25.61 Ko)

Mais je pense effectivement que le TCD est plus approprié.

Cordialement,

Bonjour xorsankukai et U.Milité

U.Milité je ne dis pas que le TCD n'y répond pas, c'est juste que cette donnée doit être directement intégré dans un autre onglet qui possède aussi d'autre colonne rempli par la suite par une autre personne (avec des listes déroulantes et d'autres données). Ce qui fait qu'avec un TCD ça me fait un onglet + ensuite une formule pour venir rechercher l'information dont j'ai besoin c'est vraiment pour cela que je cherche une formule/VBA.

Xorsankukai, lorsque j'ajoute une ligne HETRE 16 j'observe qu'automatiquement il me rajoute 16 dans le tableau du coup hélas ça ne fonctionne pas (ou c'est moi qui est cassé la formule sans le faire exprès ? )

Merci à vous pour votre aide !!

Re²,
Salut xorsankukai,

Essayons autre chose, alors (mais essaie de donner toutes les infos d'emblée, la prochaine fois !)

En A1 de la feuille2 (en remplacement de ta longue formule) :

=UNIQUE(Feuil1!B2:B15)

Si tu es bien en Excel 2019, elle va se recopier toute seule vers le bas !

Ensuite, en B1 :

=SIERREUR(INDEX(UNIQUE(FILTRE(Feuil1!$C$2:$C$15;Feuil1!$B$2:$B$15=$A1));COLONNES($A:A));"")

à recopier en bas et à droite

Bonjour,
Une proposition Power Query, liste déroulante, avec formules Index() et Equiv().
Cdlt.

7demande-aide.xlsx (22.78 Ko)

Re,

Bonjour Jean-Eric,

Nouvel essai...

Merci à CEUZIN, pour la macro. (source)

Cordialement,

Re à tous et bonjour Jean-Eric,

U.Milité : J'ai bien la version : Microsoft office Professionnel Plus 2019 mais lorsque je rentre la formule rien ne se passe (j'ai une erreur #Nom), un problème de mise à jour ? Cela veut dire que si une personne remplie le fichier mais qu'elle n'a pas Office 2019 ou plus récent ça ne fonctionnera pas aussi ?

Jean-Eric : Comment fonctionne Power Query ? Je vois que sur la feuille Données tu as refais comme un "tableau" est-ce nécessaire ? Ou c'est la reprise de ce que j'avais noté moi ?

Xorsankukai : Plutôt efficace cette macro VBA, je vais voir les explications sur le post pour la comprendre car pas simple pour moi

Merci à vous !

EDIT :

Xorsankukai erf je vois que la personne n'a pas spécialement commenter son code VBA de la fonction perso du coup je suis un peu paumé sur la compréhension du code ça me frustre d'utiliser sans comprendre, même si ça répond parfaitement à l'attente au final est-ce que tu serais m'aider un peu à la compréhension ?

Je vois qu'il y a la création d'un dictionnaire et d'un tableau mais je visualise pas la démarche

Re,
J'ai mis des explications dans le fichier joint.
Pour exemple, sélectionne A20:B22 et déplace cette sélection en bas du tableau de données.
Ruban, Données et Actualiser tout. Regrde les résultats qui s'affichent...
A te relire.
Cdlt.

14demande-aide-2.xlsx (49.04 Ko)

Bonjour Jean-Eric,

Effectivement la mise à jour est simple, mais je suis perdu comment on fait toutes les formules et associations de tableau ? C'est un code à rentrer quelque part ?

J''avoue que PowerQuery à l'air puissant et me donne au final le besoin attendu mais je vois pas comment on édite ou comment on fait les formules, pour le coup VBA je commence à comprendre et j'ai quelques bases mais PowerQuery je suis plus qu'un débutant

Merci à toi !

Cordialement,

Rechercher des sujets similaires à "recherche valeurs valeur occurrence"