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   -
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


Configuration: Windows / Chrome 71.0.3578.98
A voir également:

9 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

A quel format se fait l'export ?
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
l'export est en format excel directement
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
Le fichier joint

https://www.cjoint.com/c/IAooCvxZGh8
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Programmator Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   8
 
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...
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
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.
0
Programmator Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   8
 
Comment sont exportées les données ? avec quel logiciel ? C'est plutôt l'exportation qui devrait générer directement la bonne forme. N'avez-vous pas la possibilité d'exporter en CSV à plat ?
Faire une maco est possible, mais assez complexe. En tout cas, il faut écrire le code à la main...
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
non, je n'ai aucune main sur le format d'export, ça vient du logiciel FITNET MANAGER.
0
Programmator Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   8
 
Je vois... Je vais essayer de vous écrire une macro d'ici ce soir...
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

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

0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
bonjour
ça marche impec, merci
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
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...
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
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 ?
0
HELMUT94 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est bon j'ai trouvé

j'ai remplacé le nom de l'onglet par le chiffre 1

merci à tous, j'ai appris des trucs
0