Excel : fusion de cellule

Fermé
HELMUT94 Messages postés 25 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 - 14 janv. 2019 à 14:33
HELMUT94 Messages postés 25 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 - 20 mars 2019 à 16:08
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
14 janv. 2019 à 14:59
Bonjour,

A quel format se fait l'export ?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
14 janv. 2019 à 15:19
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
14 janv. 2019 à 15:46
l'export est en format excel directement
0
HELMUT94 Messages postés 25 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
14 janv. 2019 à 15:52
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 vendredi 28 septembre 2018 Statut Membre Dernière intervention 8 février 2019 8
14 janv. 2019 à 16:04
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
14 janv. 2019 à 16:13
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 vendredi 28 septembre 2018 Statut Membre Dernière intervention 8 février 2019 8
14 janv. 2019 à 16:24
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
14 janv. 2019 à 16:45
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 vendredi 28 septembre 2018 Statut Membre Dernière intervention 8 février 2019 8
14 janv. 2019 à 16:47
Je vois... Je vais essayer de vous écrire une macro d'ici ce soir...
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
14 janv. 2019 à 16:59
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
15 janv. 2019 à 10:03
bonjour
ça marche impec, merci
0
HELMUT94 Messages postés 25 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
20 mars 2019 à 16:08
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
15 janv. 2019 à 11:16
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 samedi 8 août 2009 Statut Membre Dernière intervention 21 mars 2019 1
15 janv. 2019 à 11:22
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