XL 2016 remplir cellule avec plusieurs valeurs issues d'une plage selon critère

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 !

dav30029

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à résoudre le problème décrit ci-dessous(formule et/ou vba) :
- j'ai une plage dans la colonne A avec plusieurs valeurs qui peuvent être identiques
- dans une colonne B, j'ai des données qui peuvent être différentes selon celles de la colonne A

Je voudrais que dans une autre cellule(ici colonne F), il insère toutes les valeurs issues de la colonne a pour laquelle les critères sont identiques.
dans ce cas, il ne renseigne que la première valeur trouvée en colonne B
La recherchev ne fonctionne pas

Voici ci-joint une explication plus claire

Merci pour votre aide
 

Pièces jointes

Bonjour @dav30029, @JHA

Avec ce code peut être, vu la demande

Je voudrais que dans une autre cellule(ici colonne F)

VB:
Sub Test()
    xCpt = 0                                            'Compteur = zéro
    xRecherche = [E2]                                   'Valeur à rechercher
    For Each xCell In Range("A2:A9")                    'On boucle sur l'ensemble de la base (Ici A2 à A9)
        If xCell.Value = xRecherche Then                'Si la cellule lue = recherche alors
            xCpt = xCpt + 1                             'On passe le compteur à +1
            xVal = xCell.Offset(0, 1).Value             'On récupère la donnée à droite (colonne B)
            If xCpt = 1 Then                            'Si compteur = 1
                xResult = xVal                          'Résultat = Valeur lue
            Else                                        'Else
                xResult = xResult & " / " & xVal        'Compteur >1 ; Résultat = ancien résult & " /" & Valeur lue
            End If                                      'Fin Si
        End If                                          'Fin Si
    Next xCell                                          'Fin boucle
    [F2] = xResult                                      'On affiche le résultat en cellule F2
End Sub

@JHA, je regarde ta solution.

@+ Lolote83
 
Merci à tous les deux pour la réactivité.
L'approche vba correspond mieux à mon attente mais avec la formule matricielle, cela semble intéressant car je ne connaissais pas.

pour Lolote83,

si ma plage est plus grande(colonne A ET E), ça ne fonctionne pas si je met une boucle while/wend. qu'est ce qu'il m'échappe ?

petite précision : dans ma colonne E, j'ai fais un filtre avancé avec copie "sans doublons" de ma colonne A.

En effet, je rejoins le fichier.
Dans ma cellule F3, il doit être inscrit uniquement 45 mais tout le contenu de F2 est remis.

Merci encore
 

Pièces jointes

Bonjour dav30029, JHA, Lolote83,

A partir d'Excel 2016 et sur les versions suivantes il existe la fonction JOINDRE.TEXTE.

Voyez le fichier joint et cette formule matricielle en F2 :
Code:
=JOINDRE.TEXTE(", ";VRAI;REPT(B$2:B$9;A$2:A$9=E2))
à valider par Ctrl+Maj+Entrée.

PS : vous croyez vraiment que votre post #6 est la solution de cette discussion ???

A+
 

Pièces jointes

Bonjour à tous,
Perso, voici la version que j'ai, mais pas de "joindre.texte"
1671002048478.png

Et voici les seules fonctions que j'ai commençant par la lettre J
1671002193572.png

Et du coup, si j'ouvre le fichier de @job75 , voici comment est traduite la fonction.
1671003556834.png

Fonction qui affiche les bonnes valeurs à l'ouverture du fichier, mais qui renvoi #NOM? si je viens à modifier une valeur dans la colonne A.
1671003687631.png


@+ Lolote83
 
Dernière édition:
- 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

Retour