Question excel - concaténation mais conditionnelle

[Fermé]
Signaler
-
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
-
Bonjour à tous,

Je rame un peu sur excel, c'est vraiment pas un logiciel dont j'ai souvent l'occasion de me servir...

J'ai un tableau de 6000 lignes et d'une douzaine de colonnes mais j'ai des points communs dans mes lignes, par exemple la référence d'un dossier et après des colonnes contenant des valeurs identiques ou différentes.

par exemple :

A B C D E
THU0865 US Date1 12235 Dupont

THU1030 US Date2 56414 Dupont
THU1030 MX Date2 65234 Dupont
THU1030 DE Date2 10254 Dupont

THU1066 TH Date3 12324 Durant
THU1066 DE Date3 12324 Durant
THU1066 FR Date3 12324 Durant
THU1066 ES Date3 12324 Durant
THU1066 IT Date4 12324 Durant


J'aimerais rassembler en une ligne toutes lignes qui portent le même nom dans A, mais sans perdre l'information des lignes B à E et donc concaténer les valeurs de chaque colonne (et même si possible ne faire apparaître qu'une fois des termes identiques).

J'aimerais donc avoir au final la chose suivante :

A B C D E
THU0865 US Date1 12235 Dupont

THU1030 US, MX, DE Date2 56414, 65234,10254 Dupont


THU1066 TH, DE, FR, ES, IT Date3, Date4 12324 Durant


Bon même si les termes sont redondants, je prends :p.
Si quelqu'un à une piste ou une méthode, voir même un autre logiciel un peu plus simple d'accès pour résoudre mon problème, je suis preneur !

bonne soirée !


3 réponses

Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
118
Rebonjour

je reviens avec une autre idée sans macro mais avec un tableau croisé intermédiaire.
1) un tableau croisé remet en forme les données (par dossier)
2) des formules permettent de concaténer sans doublon
3) il faut venir chercher ces données pour la tableau final.

Il suffit d'actualiser le premier TCD pour avoir les concaténations. Mais le fichier est plus lourd (Tableau + formules)

voici le fichier exemple
https://www.cjoint.com/c/EHngJoHua3l
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263
Bonsoir

Possible avec une macro en VBA
Il faut pour cela connaitre la structure exacte de ton fichier
Postes ton fichier (anonymé si nécessaire) sur cjoint.com fais créer le lien, copies-le et reviens l'indiquer ici

Cdlmnt
Via
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
118
Bonjour

de façon très rapide, avec une fonction VBA de concaténation de plage :

Function ConcatenationPlage(Tableau As Variant, Optional Separateur = " / ")

For Each i In Tableau
If concatenation <> "" And i <> "" Then
ConcatenationPlage = ConcatenationPlage & Separateur
End If
ConcatenationPlage = ConcatenationPlage & i
Next i

End Function

NB : possibilité de mettre un séparateur par défaut dans la fonction.


puis tu saisis une formule du style :
=ConcatenationPlage(SI($A$2:$A$10=$E12;$B$2:$B$10;"")) (CTRL + SHIFT+ENTER)

en a2:A10 : colonne des dossiers
en a2:A10 : 1 colonne de données
en E12 la valeur cherchée (tableau avec tous les numéro de dossiers.

/!\ pas de gestion des doublons.

Je laisse Via55 s'occuper de cette partie.
Messages postés
191
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
13 août 2015
118
Une petite erreur dans la fonction
If ConcatenationPlage <> "" And i <> "" Then