RECHERCHE V : valeur critère redondant

Malia3175 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais trouver une formule de recherche V mais je fais appel à vous car elle semble trop complexe pour moi malgré mes recherches.
Voici mon tableau :

A B C
123 MARTIN 2008
789 DURAND 2014
456 DUPONT 2012
123 MARTIN 2010
753 CATALA 2008
123 MARTIN 2012
753 CATALA 2009

La colonne C est l'année où le client a payé.
Je voudrais, en fonction de mes identifiants uniques en colonne A, afficher le contenu de la colonne C. Pour cela, il s'agit d'une simple recherche V. Sauf que là, mon identifiant unique apparaît plusieurs fois dans la colonne A et j'ai besoin d'afficher le contenu de la colonne C de chaque identifiant unique.
Mon fichier fait plus de 8000 lignes, et je ne peux pas faire de tri.

Pourriez-vous m'aider à trouver une formule ? (pas de VBA s'il vous plaît, je ne le maîtrise pas).

En vous remerciant d'avance.

A voir également:

4 réponses

m@rina Messages postés 23888 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour,

Et pourquoi pas un tableau croisé ? ça se fait en 30 secondes et ça ne nécessite pas de VBA et tu auras tout de suite tes données classées par identifiants.

m@rina
0
Malia3175 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour M@arina,
Peux-tu m'expliquer rapidement comment faire ? puis-je récupérer les données du tableau croisé dynamique pour ma formule ? (voir plus bas)

Merci d'avance.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Voir ICI.

=SI(LIGNES($1:1)<=NB.SI(Code;$E$6);INDEX(result;PETITE.VALEUR(SI(Code=$E$6;LIGNE(INDIRECT("1:"&LIGNES(Code))));LIGNES($1:1)));"")
Valider avec Maj+Ctrl+Entrée

Avec les noms définis : Code = $A$1:$A$8000 et result = $C$1:$C$8000

🎼 Cordialement,
Franck 🎶
0
Malia3175 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour à tous les deux et merci pour votre réactivité.
@pijaku : merci pou cette formule. Mais, de ce que je comprends de l'explicatif, cette formule est bonne quand on affiche le résultat dans plusieurs cellule. Or, j'ai besoin que tous mes "2008", "2012" etc de ma colonne C s'afiichent dans la même cellule.
En gros, feuille 1 on a le tableau ci-dessus.

Feuille 2 :
A B
123 2008/2010/2012
789 2014
456 2012
753 2008/2009

La colonne B reprend toutes les années en fonction de l'identifiant commun.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
La solution de M@rina (salutations au passage) ne convient pas?

Sinon, il ne te restera que le VBA...
0
Malia3175 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   1
 
Puis-je récupérer des données à partir du tableau dynamique ? @m@arina : pouvez-vous m'expliquer ?

Merci :-)
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

en regard la première de tes 8000 lignes, tu mets la formule
=SI(NB.SI($L$1:L1;L1)>1;"";SUBSTITUE(SUPPRESPACE(MCONCAT(SI($L$1:$L$7=L1;$N$1:$N$7;"");" "));" ";"-"))
que tu valides par CTRL+MAJ+ENTER.
tu recopies vers le bas ensuite.

une particularité de cette formule : elle utilise MCONCAT() qui est une fonction de Morefunc (de Laurent Longre) qu'il te faudra installer.

une précision : j'ai mis les données en L1:N7

cordialement
0