RECHERCHE V : valeur critère redondant

Fermé
Malia3175 Messages postés 12 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 8 décembre 2014 - 8 déc. 2014 à 15:55
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 8 déc. 2014 à 17:45
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 20211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 12 mai 2024 11 280
8 déc. 2014 à 15:58
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 8 décembre 2014 1
8 déc. 2014 à 16:58
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
Modifié par pijaku le 8/12/2014 à 16:02
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 8 décembre 2014 1
8 déc. 2014 à 16:23
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
8 déc. 2014 à 16:25
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 vendredi 26 octobre 2012 Statut Membre Dernière intervention 8 décembre 2014 1
8 déc. 2014 à 16:57
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
8 déc. 2014 à 17:45
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