Index/equiv plusieur valeur dans une seule cellule

Bonjour à Tous,

je suis Roberto, je suis nouveaux sur le forum.

j'ai un petit soucis avec un fichier que j'ai créer.

voilà tout.

j'utilise la formule index/equiv pour rechercher une valeur dans une colonne.

il se trouve parfois que j'ai plusieurs fois la même valeur dans la même colonne, mais dans les ligne plus bas.

la formule que j'utilise est la suivantes :

=SIERREUR(INDEX(A5:B271;EQUIV(H22;B5:B271;0);1);"")

et bien sur j'obtiens le premier résultats.

ce que je voudrais c'est que dans mon résultat de recherche, je puisse obtenir plusieur résultats dans une seule et même celulle.

en espérant ne pas avoir à utilisé du vba/macro, car je ne m'y connais absolument pas.

voici le fichier, si vous avez des questions n'hésitez pas;

Roberto

5test.xlsx (20.12 Ko)

Bonjour vizzzino, le forum,

Un essai avec une fonction personnalisée (merci à l'auteur, )...

34copie-de-test.xlsm (38.99 Ko)

Une autre (merci également à l'auteur, )...

25test.xlsm (38.46 Ko)

Seul petit bémol, en cas de résultats multiples, le format personnalisé "000" n'est pas reproduit,

Cordialement,

Salut xorsankukai ,

merci pour t'a réponse,

t'a formules fonctionne parfaitement. c'est exactement ce que j'avait besoin.

ce n'est pas grâve si le format personnalisé n'es pas affiché.

maintenant j'ai un autre problème,

j'ai simplement déplacer cet onglet vers un autre classeur excel.

et la j'obtiens l'erreur #NOM?

pourtant je n'ai rien changé, juste déplacer d'un classeur a l'autre.

capture

Encore merci d'avoir trouvé la solution.

Re,

Merci pour ton retour,

Tu remarqueras que l'extension du fichier est en .xlsm....la fonction personnalisée est donc contenu dans un module du classeur.

Fait ALT+F11 et tu trouveras la fonction.

Pour le cas 1:

Function Recherches_Multiples(ValeurRecherchee As Range, TableDeRecherche As Range, NumColonne As Integer, Separator As String) As Variant

 Dim NbLignes As Integer
     NbLignes = TableDeRecherche.Rows.Count
 Dim CompteurValeursTrouvees As Integer
     CompteurValeursTrouvees = 0

 For i = 1 To NbLignes
  If TableDeRecherche(i, 1).Value = ValeurRecherchee.Value Then
CompteurValeursTrouvees = CompteurValeursTrouvees + 1
  If CompteurValeursTrouvees > 1 Then
     Recherches_Multiples = Recherches_Multiples & Separator & TableDeRecherche(i, NumColonne).Value
  Else
     Recherches_Multiples = TableDeRecherche(i, NumColonne).Value
  End If
  End If
 Next i

End Function

Pour le cas 2:

Function RechTous(v, champRech As Range, ChampRetour As Range, separateur)
  a = champRech
  temp = ""
  For i = 1 To champRech.Count
    If a(i, 1) = v Then
      temp = temp & ChampRetour(i) & separateur
    End If
  Next i
  RechTous = Left(temp, Len(temp) - 1)
End Function

Donc dans l'autre classeur, il faut que tu ais également cette fonction, sinon ça ne fonctionnera pas....

Donc Alt+F11 puis Insertion puis Module

Tu colles le code de la fonction dans le module.

Tu choisiras l'extension.xlsm lorsque tu enregistreras ton fichier.

Cordialement,

SUPER !!!

j'y suis enfin arrivé !

un grand merci, !!!

Rechercher des sujets similaires à "index equiv valeur seule"