Question excel - concaténation mais conditionnelle
ensis
-
leplot Messages postés 191 Date d'inscription Statut Membre Dernière intervention -
leplot Messages postés 191 Date d'inscription Statut Membre Dernière intervention -
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 !
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 !
A voir également:
- Question excel - concaténation mais conditionnelle
- Mise en forme conditionnelle excel - Guide
- Liste déroulante excel - Guide
- Excel liste déroulante conditionnelle - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
3 réponses
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
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
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
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
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.
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.