Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tableau de Recherche avec renvoit de plusieurs valeurs texte.

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

jsalmon

XLDnaute Nouveau
Bonjour,
Recherchev ne renvoit que la premiere valeur, je souhaiterai que dans une cellule apparaisse le texte correspondant à plusieurs codes.
Je m'explique:

Tableau
Code Version
1001268 v2
1001268 v9
1001269 v3
1001269 v1
1001269 v9
1001270 v3
1001270 v2


J'aimerai faire une recherche qui permette d'afficher dans un tableau les versions séparés par un "/".

Code Versions
1001268 v2 / v9
1001269 v3 / v1 / v9
1001270 v3 / v2

Le mieux serait de ne pas utiliser de macro, sauf si c'est indispensable..
Merci beaucoup pour votre aide.
 

Pièces jointes

Re : Tableau de Recherche avec renvoit de plusieurs valeurs texte.

Bonjour jsalmon,

Comme je n'ai pas trouvé de solution par formule.... Dans un Module :

Code:
Function Versions(Valeur, Plage As Range) As String
Dim Cellule As Range
    Versions = ""
    For Each Cellule In Plage
        If Cellule.Value = Valeur Then
            If Versions = "" Then
                Versions = Cellule.Offset(0, 1).Value
            Else
                Versions = Versions & " / " & Cellule.Offset(0, 1).Value
            End If
        End If
    Next Cellule
End Function

en E5 :

Code:
=versions(D5;$A$3:$A$9)

à recopier vers le bas
 
Re : Tableau de Recherche avec renvoit de plusieurs valeurs texte.

Bonjour à tous,

Puis-je me permettre un petit ajout dans la fonction de Toto ?



Code:
Option Explicit
Function Versions(Valeur, Plage As Range) As String
[COLOR=Blue][B]Application.Volatile[/B][/COLOR]
Dim Cellule As Range
    Versions = ""
    For Each Cellule In Plage
        If Cellule.Value = Valeur Then
            If Versions = "" Then
                Versions = Cellule.Offset(0, 1).Value
            Else
                Versions = Versions & " / " & Cellule.Offset(0, 1).Value
            End If
        End If
    Next Cellule
End Function
Extrait de l'Aide :

Volatile, méthode : "Cette méthode marque comme volatile une fonction personnalisée. Une fonction volatile doit être recalculée chaque fois qu'un calcul est effectué dans une cellule quelconque de la feuille de calcul. Une fonction non volatile n'est recalculée qu'en cas de changement des variables d'entrée. Cette méthode est sans effet si elle ne se trouve pas à l'intérieur d'une fonction définie par l'utilisateur utilisée pour calculer une cellule de feuille de calcul."


A++ Toto
A+ à tous
 
Dernière édition:
Re : Tableau de Recherche avec renvoit de plusieurs valeurs texte.

Bonjour JCGL,

tu as raison, comme je n'ai pas mis la colonne B en entrée... ce qui aurait sûrement été plus propre et plus logique, d'ailleurs
 
Re : Tableau de Recherche avec renvoit de plusieurs valeurs texte.

Bonsoir,

Code:
 Function RechTous(v, champRech As Range, ChampRetour As Range)
  Application.Volatile
  a = champRech    [B] ' lecture dans un tableau pour + rapidité[/B]
  temp = ""
  For i = 1 To champRech.Count
    If a(i, 1) = v Then temp = temp & ChampRetour(i) & "/"
  Next i
  If temp = "" Then RechTous = "" Else RechTous = Left(temp, Len(temp) - 1)
End Function

JB
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…