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

XL 2016 Afficher dans une cellule une liste de plusieurs cellules

Michelll38

XLDnaute Nouveau
Bonjour a tous ,

Je viens vers vous aujourd'hui pour un probléme un peu particulier, que j'ai un peu de mal a exprimer clairement en une phrase, d’où ma bredouillade sur Google qui m'a emmené ici

Je vais essayer d’expliquer au plus clair avec l'aide d'un exemple.

Dans mon travail je dois numéroter des lots de planches de bois ou autre produits manufacturés que j'identifie sur un fichier excel. Il me faudrait un moyen de renvoyer dans une seule cellule, une liste de cellules, séparés par une virgule ou autre, ayant un même code situé dans une autre colonne. Je sait c'est pas super clair mais voila une image:
Comme vous le voyez il y a trois colonnes. Dans la colonne A "identifiants" il y a peut y avoir certaines lignes qui partagent la même valeur. Par contre dans la colonne B "code" les valeurs sont différentes.
Dans la colonne D "résume" il y a ce que je souhaiterais, c'est a dire les valeurs de la ligne "Code" qui partagent le même "Identifiant". J'ai ici rentré manuellement ce qu'il faudrait, mais il me faudrait une formule ou autre car je travaille avec des bases de données.

J'ai tenté avec la fonction recherche et d'autres mais je n'arrive pas a afficher plus d'une valeur.

J'ai conscience qu'il y a des moyens différents de résoudre ceci mais il me le faudrait vraiment dans une seule cellule a des fins de post traitement.


J’espère que j'ai été clair et que je ne vous ai pas trop embrouillé
Ça serait super si je pouvais avoir une solution et je remercie d'avance ceux qui pourront m'aider.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je te propose d'utiliser la fonction joindre.texte() à valider en matricielle (appuyer sur les touches Ctrl+Maj+Entrée en même temps, les accolades se mettront de chaque côté de la formule).
VB:
=JOINDRE.TEXTE(",";VRAI;SI($A$2:$A$10=$A2;$B$2:$B$10;""))

JHA
 

Pièces jointes

  • Joindre texte.xlsx
    130.2 KB · Affichages: 8

Michelll38

XLDnaute Nouveau
Ahhhhhhh
Je ne connaissait pas cette formule joindre.texte
Du coup ça marche bien

Merci beaucoup JHA pour cette réponse rapide, et en pleine nuit, je ne pensait pas ce matin a l'avoir aussi vite
Ca va vraiment m’être pratique.
Encore merci.

Bonne journée a toi
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Une bonne âme du forum m'a fait cette fonction personnalisée à mettre dans un module.
VB:
Function TEXTJOIN(Delimiter As String, IgnoreEmpty As Boolean, ParamArray Parm() As Variant)
Dim E, C As Range, V, t() As String, N&
For Each E In Parm
  If TypeName(E) = "Range" Then
     For Each C In E.Cells
        V = C.Value: GoSub 1
        Next C
     ElseIf IsArray(E) Then
        For Each V In E: GoSub 1: Next V
     Else
        V = E: GoSub 1
        End If: Next E
TEXTJOIN = Join(t, Delimiter)
Exit Function
1: If V = "" And IgnoreEmpty Then Return
N = N + 1
ReDim Preserve t(1 To N): t(N) = V
Return
End Function

Avec cette formule:
Code:
=Textjoin(",";VRAI;SI($A$2:$A$10=$A2;$B$2:$B$10;""))
 

Pièces jointes

  • Joindre texte rev1.xlsm
    136.4 KB · Affichages: 7

Discussions similaires

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