EXCEL: Regrouper les valeurs d'une colonne

Fermé
Kiwool - 22 janv. 2009 à 08:43
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 22 janv. 2009 à 09:11
Bonjour,

J'utilise dans mon travail MatrixOne (Logiciel de gestion des données techniques)
Pour rechercher plusieurs article dans la base, je dois les rensigner sous la forme "ref1,ref2,ref3,ref4,...,refn"

Je monte souvent mes dossiers à l'aide de listes Excel, avec les références Article dans une colonne.

J'aurais donc besoin de convertir une liste sous la forme:
... A
1 Ref1
2 Ref2
3 Ref3
... ...
n Refn

en:
Ref1,Ref2,Ref3,...,Refn

J'utilise généralement la formule suivante:
=A1&,"&A2&","&A3&","&...&","&An
dont je copie ensuite le résultat dans une autre cellule Collage Spécial/Valeur
Mais quand j'ai plusieurs centaines de lignes, çà devient très lourd à gérer.

Auriez vous une autre méthode pour réaliser rapidement cette opération ?

Merci d'avance pour vos réponses !
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 700
22 janv. 2009 à 09:11
bonjour

Je te propose une fonction personnalisée à insérer dans un module (mode d'emploi)
Public Function regroupe(plage As Range)
Dim sel As Range
    Application.Volatile
    regroupe = ""
    For Each sel In plage
        If sel.Value <> "" Then
            If regroupe <> "" Then regroupe = regroupe & ","
            regroupe = regroupe & sel.Value
        End If
    Next sel
End Function


Pour l'utiliser sur la colonne A avec le titre en A1 tu peux faire ainsi :
=regroupe(DECALER(A2;;;NBVAL(A:A)-1;1))
ou
=regroupe(DECALER(A1;;;NBVAL(A:A);1))
ou même (mais attention au temps de calcul)
=regroupe(A:A)
si tu n'as pas de titre.
0