Excel : fusion de cellule
HELMUT94
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
HELMUT94 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
HELMUT94 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un tableau excel issu d'un export d'un autre logiciel, cette liste contient la liste de tous les clients avec des tas de colonnes : adresse, contacts, affaire etc
hors il arrive qu'il y ait plusieurs contacts pour un client et dans mon export, chaque client est dans une cellule au lieu d'être dans la même
ex :
cellule A3 nom du client, cellule b3 nom du 1er contact cellule c3 adresse etc....
cellule b4 nom du 2ème contact
cellule b5 nom du 3ème contact
cellule A6 nom du client, cellule b6 nom du contact cellule c6 adresse etc....
cellule A7 nom du client, cellule b7 nom du contact cellule c7 adresse etc....
je ne trouve pas de formule pour que quelque soit le nombre de contacts ils soient tous concaténés dans la cellule b3 pour reprendre l'exemple ci-dessus
pour 2 contacts c'est assez facile avec une formule SI associée à CONCATENER mais il peut y en avoir 3 ou plus et là ça ne marche plus.
bref, je rame
on me dit qu'avec une macro c'est faisable mais je ne sais qu'enregistrer une macro, je n'en connais pas le language :(
merci par avance pour votre aide
j'ai un tableau excel issu d'un export d'un autre logiciel, cette liste contient la liste de tous les clients avec des tas de colonnes : adresse, contacts, affaire etc
hors il arrive qu'il y ait plusieurs contacts pour un client et dans mon export, chaque client est dans une cellule au lieu d'être dans la même
ex :
cellule A3 nom du client, cellule b3 nom du 1er contact cellule c3 adresse etc....
cellule b4 nom du 2ème contact
cellule b5 nom du 3ème contact
cellule A6 nom du client, cellule b6 nom du contact cellule c6 adresse etc....
cellule A7 nom du client, cellule b7 nom du contact cellule c7 adresse etc....
je ne trouve pas de formule pour que quelque soit le nombre de contacts ils soient tous concaténés dans la cellule b3 pour reprendre l'exemple ci-dessus
pour 2 contacts c'est assez facile avec une formule SI associée à CONCATENER mais il peut y en avoir 3 ou plus et là ça ne marche plus.
bref, je rame
on me dit qu'avec une macro c'est faisable mais je ne sais qu'enregistrer une macro, je n'en connais pas le language :(
merci par avance pour votre aide
Configuration: Windows / Chrome 71.0.3578.98
A voir également:
- Excel : fusion de cellule
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
9 réponses
Bonjour
1) Vouloir concaténer des données est la plupart du temps une mauvaise idée car elles deviennent inexploitables
2) Si tu veux une aide efficace, poste ton fichier sur cjoint.com, fais créer un lien que tu copies et reviens coller ici
Cdlmnt
Via
1) Vouloir concaténer des données est la plupart du temps une mauvaise idée car elles deviennent inexploitables
2) Si tu veux une aide efficace, poste ton fichier sur cjoint.com, fais créer un lien que tu copies et reviens coller ici
Cdlmnt
Via
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
A partir du moment où les données sont arborescentes, c'est-à-dire que plusieurs sous-enregistrements sont rattachés à un même enregistrement (ex : plusieurs contacts rattachés à un même client), le problème de la représentation des données en tableau "à plat" se pose.
Je partage tout-à-fait les conseils de via55.
Une solution plus efficace que la concaténation consiste à recopier toutes les données sur chaque ligne durant l'export (c'est à dire reprendre les coordonnées du client sur chaque ligne de contact). Certes, cela crée de la redondance de données, mais ensuite elles sont beaucoup plus facilement exploitables, notamment à l'aide de tableaux croisés dynamiques. Vous pourrez entre autres regrouper les données par client pour avoir la vue que vous souhaitez.
Une autre solution plus avancée passe par l'exportation des données en XML et la création de mappages xml dans Excel à partir du ruban Développeur...
A partir du moment où les données sont arborescentes, c'est-à-dire que plusieurs sous-enregistrements sont rattachés à un même enregistrement (ex : plusieurs contacts rattachés à un même client), le problème de la représentation des données en tableau "à plat" se pose.
Je partage tout-à-fait les conseils de via55.
Une solution plus efficace que la concaténation consiste à recopier toutes les données sur chaque ligne durant l'export (c'est à dire reprendre les coordonnées du client sur chaque ligne de contact). Certes, cela crée de la redondance de données, mais ensuite elles sont beaucoup plus facilement exploitables, notamment à l'aide de tableaux croisés dynamiques. Vous pourrez entre autres regrouper les données par client pour avoir la vue que vous souhaitez.
Une autre solution plus avancée passe par l'exportation des données en XML et la création de mappages xml dans Excel à partir du ruban Développeur...
Oui j'ai envisagé cette solution de passer par un tcd mais comment recopier les données sur chaque ligne avec une formule, il y a plus de colonne que dans l'extrait que je vous ai mis à disposition ?
en fait le but pour moi c'est qu’après j'enregistre une macro de mise en forme pour que le tableau soit conforme à ce qui est attendu.
en fait le but pour moi c'est qu’après j'enregistre une macro de mise en forme pour que le tableau soit conforme à ce qui est attendu.
Bonjour,
Essaies ce code qui regroupe les contacts :
Essaies ce code qui regroupe les contacts :
Sub Regroupe_Contacts() Dim T As Variant Dim R As Variant Dim L As Long Dim C As Long Dim I As Long T = ActiveSheet.Range("A1").CurrentRegion.Value ReDim R(1 To UBound(T), 1 To UBound(T, 2)) For L = LBound(T) To UBound(T) For C = LBound(T, 2) To UBound(T, 2) If T(L, 1) = "" Then R(I, C) = R(I, C) & Chr(10) & T(L, C) ElseIf C = 1 Then I = I + 1 R(I, C) = T(L, C) Else R(I, C) = T(L, C) End If Next C Next L ActiveSheet.Range("A1").CurrentRegion.Value = R End Sub
Bonjour Patrice
je reviens sur la macro que tu m'as écrite
je voudrais l'adapter à un autre problème similaire mais je ne comprends pas comment sont identifiés les lignes et colonnes, à quoi correspondent les T R(I, C) et les numéros
j'ai cherché sur le net des infos VBA sur les colonnes et lignes mais je reste perplexe...
je reviens sur la macro que tu m'as écrite
je voudrais l'adapter à un autre problème similaire mais je ne comprends pas comment sont identifiés les lignes et colonnes, à quoi correspondent les T R(I, C) et les numéros
j'ai cherché sur le net des infos VBA sur les colonnes et lignes mais je reste perplexe...
dernière question et je clos le sujet : dans une macro, pour signifier qu'elle doit s’exécuter quelque soit le nom du fichier excel concerné, comment fait-on ?
parce que là mon fichier d'export s'appelle "Liste des opportunités (3)" parce que c'est le 3ème export
mais si je lance ma macro sur un fichier qui s'appelle "Liste des opportunités (2)", ça ne marchera pas
je sais qu'il y a un truc mais lequel ?
parce que là mon fichier d'export s'appelle "Liste des opportunités (3)" parce que c'est le 3ème export
mais si je lance ma macro sur un fichier qui s'appelle "Liste des opportunités (2)", ça ne marchera pas
je sais qu'il y a un truc mais lequel ?