Concaténer les cellules par VBA

Résolu/Fermé
Linedolc - 3 oct. 2016 à 21:24
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017 - 21 oct. 2016 à 20:11
Bonjour,

Je voudrais concaténer les données par format: Name&Âge&Group pour savoir s'il y a de lignes identiques:
Month Group Name Amount Age Sex Rate
avr-16 ABC001 Mary 1 40 F 0.5
avr-16 ABC001 Mary 2 40 F 0.5
avr-16 CDE002 Jack 4 30 M 0.38
avr-16 CDE003 Mark 8 50 M 0.6
avr-16 ABC001 Mary 16 40 F 0.5
avr-16 CDE002 Jack 32 30 M 0.38
avr-16 CDE003 Mark 64 50 M 0.6
avr-16 ABC001 Mary 128 40 F 0.5
avr-16 CDE002 Momo 256 30 M 0.38
avr-16 CDE003 Mark 512 50 M 0.6
avr-16 ABC001 Mary 1024 40 F 0.5
avr-16 CDE002 Lulu 2048 30 M 0.38
avr-16 CDE003 Mark 4096 50 M 0.6

Le résultat que je voulais est: par exemple Mary&40&ABC001

Merci beaucoup!



A voir également:

4 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
3 oct. 2016 à 22:34
Bonjour,

Il est fortement déconseillé de ne pas multi poster comme tu peux le lire dans la charte :
https://www.commentcamarche.net/infos/25927-mon-message-n-a-recu-aucune-reponse/

Continues tes explications sur ton sujet qui manque de précisions :
https://forums.commentcamarche.net/forum/affich-33953774-concatener-les-donnees-par-vba
0
Bonjour gbinforme,

Merci beaucoup de votre conseil et je vais faire attention la prochaine fois. Désolée pour ces inconvénients.

Ce que je voulais est d'ajouter une colonne à la fin pour mettre la concaténation de cellules Name&Âge&Group, par exemple Mary&40&ABC001. Avec cette façons je pourrais distinguer les doublons.

Merci beaucoup!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 oct. 2016 à 21:28
Bonjour,

Je ne vois pas ce que le VBA vient faire la dedans.
en H2 selon ton exemple, tu mets la formule
=C2&E2&B2

et tu double cliques sur la petite croix en bas à droite de la cellule pour remplir la colonne.
Ensuite tu tries sur la colonne.
0
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017
5 oct. 2016 à 22:05
Bonjour gbinforme,

Merci pour ta proposition. Mais j'aimerais bien réaliser la concaténation par VBA parce que j'ai encore d'autre fonctions qui lient avec cette concaténation.

Mon objectif:
1. Ajouter une colonne à la fin pour concaténer les cellules Name&Âge&Group, selon cette concaténation on peut distinguer les doublons, par exemple Mary&40&ABC001);

2. Calculer la somme de Amount selon la colonne de concaténation (par exemple pour Mary: 1+2+16+128+1024=1171 ), mais la somme 1171 apparaît seulement sur la première ligne de chaque concaténation différente et le reste lignes en doublon devient 0. Le reste de champs ne changent pas. Cet objectif est déjà réalisé par le tri de nom, mais j'ai pas réussi avec le tri de concaténation;

3. J'aimerais bien supprimer le contenu de la colonne concaténation parce que je veux pas cette colonne parait dans les champs de données de Powerpivot qui relie avec le donnée.

Merci beaucoup!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 oct. 2016 à 22:37
Bonjour,

Comme je te disais pour cela tu n'as pas besoin de vba.
Voilà l'exemple sans concaténation qui te donnes les résultats voulus avec tes données.
1 tri sur tes 3 champs
2 formule de cumul souhaitée

https://www.dropbox.com/s/osnmof82nkw0dah/Linedolc.xlsx?dl=0
0
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017
6 oct. 2016 à 14:53
Bonjour gbinforme,

Merci beaucoup de votre aide. Parce que c'est un projet pour moi de réaliser ces 3 objectifs en VBA, en plus il y a déjà le powerpivot qui relie avec les données et on veut pas la nouvelle colonne de total qui paraisse dans les champs de calcul de powerpivot.

Merci beaucoup!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 oct. 2016 à 09:23
Bonjour Linedolc,

Puisque tu tiens absolument à utiliser le vba, voici l'exemple avec tes données :

https://www.cjoint.com/c/FJnhwJWn87l

Bon test
0
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017
20 oct. 2016 à 18:16
Bonjour gbinforme,

Merci beaucoup de votre réponse. Mais je n'arrive pas à ouvrir votre fichier. Est-ce que ce fichier est encore disponible?

Merci beaucoup encore une fois!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
20 oct. 2016 à 18:28
Bonjour Linedolc,

Le fichier est disponible mais c'est un fichier macro et donc, selon ta façon de naviguer, tu ne dois peut-être pas pouvoir l'ouvrir directement : tu l'enregistres puis tu pourras l'ouvrir.
0
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017
20 oct. 2016 à 20:12
Bonjour gbinforme,

Oui, maintenant je suis capable de l'ouvrir. Mais il y a un problème sur FormulaLocal: Erreur d'execution '1004': Erreur définie par l'application ou par l'objet. Cette formule fonctionne très bien dans excel, mais ça marche aussi dans vba?

Merci beaucoup!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
20 oct. 2016 à 21:26
Cette formule fonctionne très bien dans excel
C'est justement pour la mettre en place dans la feuille.
Tu dois avoir un paramétrage différent dans les codes locaux, donc tu copies à la place la formule qui fonctionne très bien.
0
Linedolc Messages postés 12 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 18 octobre 2017
21 oct. 2016 à 20:11
Bonjour gbinforme,

Ça marche. Merci beaucoup!
0