Fusionner le contenu de plusieurs cellules avec condition
fbrcrsi
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
fbrcrsi Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
fbrcrsi Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour.
J'ai un nouveau casse tête (pour moi)
J'aimerais, avec une formule, pouvoir fusionner des données dans une colonne, vers une seule cellule, si dans la colonne voisine un nom client est identique.
Comme mes mots n'expliquent pas suffisamment ce que j'aimerais, voici un fichier exemple joint :
https://www.cjoint.com/c/GLikc5gmgVK
Merci pour vos avis éclairés.
Fred.
J'ai un nouveau casse tête (pour moi)
J'aimerais, avec une formule, pouvoir fusionner des données dans une colonne, vers une seule cellule, si dans la colonne voisine un nom client est identique.
Comme mes mots n'expliquent pas suffisamment ce que j'aimerais, voici un fichier exemple joint :
https://www.cjoint.com/c/GLikc5gmgVK
Merci pour vos avis éclairés.
Fred.
A voir également:
- Fusionner cellule excel en gardant les valeurs
- Fusionner deux cellules excel en gardant le contenu - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Proteger cellule excel - Guide
3 réponses
Bonjour Fred
Pourquoi vouloir fusionner les cellules et placer plusieurs valeurs dans une même cellule alors que cela n'a que des inconvénients (plus possibilité de faire des calculs sur ces valeurs, très gênant pour appliquer des formules ou des macros au tableau ..)
Si tu veux regrouper les données par client utilise plutôt un tableau croisé dynamique
Cdlmnt
Via
Pourquoi vouloir fusionner les cellules et placer plusieurs valeurs dans une même cellule alors que cela n'a que des inconvénients (plus possibilité de faire des calculs sur ces valeurs, très gênant pour appliquer des formules ou des macros au tableau ..)
Si tu veux regrouper les données par client utilise plutôt un tableau croisé dynamique
Cdlmnt
Via
Bonsoir vous deux.
Merci pour vos réponses.
A via55: pourquoi vouloir fusionner ? Pas de problèmes de calcul puisque ces cellule ne seront que du texte, et parce-que l'outil pro qui me permet d'extraire des données au format excel ne me permet pas de le faire en amont, et du coup je voudrais automatiser cette fusion pour le classeur excel que je prépare pour mes collègues.
Après le TCD est une idée qui m'a traversé l'esprit, mais je n'arrive pas a récupérer les données regroupées dans le TCD pour les inclure dans une seule cellule.
Merci en tout cas.
Fred
Merci pour vos réponses.
A via55: pourquoi vouloir fusionner ? Pas de problèmes de calcul puisque ces cellule ne seront que du texte, et parce-que l'outil pro qui me permet d'extraire des données au format excel ne me permet pas de le faire en amont, et du coup je voudrais automatiser cette fusion pour le classeur excel que je prépare pour mes collègues.
Après le TCD est une idée qui m'a traversé l'esprit, mais je n'arrive pas a récupérer les données regroupées dans le TCD pour les inclure dans une seule cellule.
Merci en tout cas.
Fred
Bonsoir Fred
Bon si tu tiens à inscrire plusieurs données dans une seule cellule il faut passer par une macro en VBA
Ouvre l'éditeur VBA avec ALT+F11 puis Insertion - Module et tu copies et colle la macro suivante dans la page avant de fermer l'éditeur (la macro a été établie d'après les lignes et colonnes de ton fichier exemple, modifier dans la macro pour plus de lignes et/ou d'autres colonnes
Ensuite tu lances la macro depuis ta feuille avec Developpeur - Macros - choisir la macro classement et Exécuter
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Bon si tu tiens à inscrire plusieurs données dans une seule cellule il faut passer par une macro en VBA
Ouvre l'éditeur VBA avec ALT+F11 puis Insertion - Module et tu copies et colle la macro suivante dans la page avant de fermer l'éditeur (la macro a été établie d'après les lignes et colonnes de ton fichier exemple, modifier dans la macro pour plus de lignes et/ou d'autres colonnes
Sub classement() x = 1 For n = 6 To 14 ' boucle sur les lignes 6 à 14 If Application.WorksheetFunction.CountIf(Range("A6:A" & n), Range("A" & n)) = 1 Then x = x + 1: Range("G" & x) = Range("A" & n) ' si client pour 1ere fois dans la liste on incrémente x et on écrit nom client en col G Next For k = 2 To x ' boucle sur les lignes 2 à x client = Range("G" & k) ' récupére nom du client en G donnees = "" For j = 6 To 14 ' boucle sur les lignes 6 à 14 If Range("A" & j) = client Then donnees = donnees & Chr(10) & Range("B" & j) 'si nom du client en col A on ajoute la valeur en B à la variable donnes aprsè un saut de ligne Next j Range("H" & k) = donnees ' Recopie donnees en col H Next k End Sub
Ensuite tu lances la macro depuis ta feuille avec Developpeur - Macros - choisir la macro classement et Exécuter
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein