Rechercher : dans
Par :

EXCEL: Regrouper les valeurs d'une colonne

Dernière réponse le 22 jan 2009 à 09:11:49 Kiwool, le 22 jan 2009 à 08:43:25 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP
Internet Explorer 6.0
Microsoft Excel 2000

Meilleures réponses pour « EXCEL: Regrouper les valeurs d'une colonne » dans :
Utiliser VALEUR CIBLE sous Excel VoirVous avez fait un devis, sous forme d'un tableau EXCEL vous avez additionné chacun des prix, obtenu un Total HT (en E8 par exemple) défini une remise (en E9), appliqué le montant de TVA (en E10), obtenu votre Total TTC (en E11) votre client vous...
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...

1

 gbinforme, le 22 jan 2009 à 09:11:49

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.
Toujours zen

Répondre à gbinforme