Fusion ou concaténation Cellule dans la 1ere avec virgule [RESOLU]

Arawaza

XLDnaute Junior
Bonjour à tous,

Voici déjà plusieurs jours que je cherche en vain sur le net comment réussir ma manipulation souhaité, en voila l'explication :

- J'ai 2 colonne. la 1ere contient une adresse mail, la 2eme contient des nom. je voudrais que dans la 2eme colonne, je fusionne plusieurs noms pour les mettre dans cette 1ere cellule avec un espace ou "," entre chaque personne.

- Je ne peux pas utiliser concaténer ou fusionner car mes nom de personne peuvent aller de 2 à 150 personnes suivant les adresses mails. je ne peux donc m'amuser a écrire toute les cellules =A1&","&A2 etc... jusqu'à 150

-Je voudrais ainsi retrouver du TEXTE et non pas une FORMULE dans cette fameuse cellule.

Mon fichier ci-joint sera plus claire pour la compréhension car j'y ai ajouter des commentaire.

merci d'avance
 

Pièces jointes

  • adresses_mails.xlsx
    10.4 KB · Affichages: 67
  • adresses_mails2.xlsx
    11.5 KB · Affichages: 67
  • adresses_mails3.xlsx
    11 KB · Affichages: 52
Dernière édition:

Arawaza

XLDnaute Junior
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

oui, mon fichier à 37000 lignes mais toujours présenter de la même façon. il faudrait donc que je choisisse les cellules a concaténer, appliquer la macro.

J'ai déjà eu une macro mais je n'est pas réussi à la modifier pour l'adapter a mon problème.

Je te remercie par avance de ton travail, Intéresser bien évidemment.
 

Tatiana29

XLDnaute Occasionnel
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Bon je les fait avec une formule excel avec des concatener et des est vide et après tu fais un filtre sur les adresses et yop pa là!
c'est fait!
mais une macro est possible aussi!
 

Pièces jointes

  • adresses_mails(1)_test.xlsx
    11.3 KB · Affichages: 78

job75

XLDnaute Barbatruc
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Bonjour Arawaza,

Exécutez cette petite macro :

Code:
Sub Groupe()
Dim plage As Range, a As Range
On Error Resume Next 'si pas de constantes
Set plage = [D:D].SpecialCells(xlCellTypeConstants)
For Each a In plage.Areas
  If a.Count > 1 Then a(1) = Join(Application.Transpose(a), ", ")
Next
End Sub
A+
 

Arawaza

XLDnaute Junior
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Je garde ceci précieusement MAIS :

- possibilité dans D6 d'afficher : toto,tata,thomas,jean,sylvie (non dans la E6)?
- cette ligne de commande devra être modifié pour chaque adresse mail. (j'en ai 4000 environ) possibilité de selectionner le PACK de cellules ?
 

Arawaza

XLDnaute Junior
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Sinon, Merci beaucoup, test tout de même concluent il suffit de tirer le code et op cela fonctionne. Par contre, comment ne plus afficher le code mais le texte si besoin de modification ?

Merci encore de ton aide
 

Tatiana29

XLDnaute Occasionnel
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Ah oui on pourrait afficher dans D6 par une macro mais bon!un bon vieux copier coller peut faire l'affaire.
je ne vois pas ce que tu veux dire quand tu parles de ligne de commande et de pack!:mad:
 

job75

XLDnaute Barbatruc
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Re, salut Tatiana29,

La macro précédente fonctionne bien parce qu'il y a des lignes vides entre les groupes.

S'il n'y en a pas il faut les créer en s'appuyant sur les liens hypertexte en colonne C.

Mettez ces 2 macros dans un Module et lancez la macro SepareGroupe :

Code:
Sub SepareGroupe()
Dim h As Hyperlink
For Each h In [C:C].Hyperlinks
  h.Parent.EntireRow.Insert
Next
Groupe
End Sub

Sub Groupe()
Dim plage As Range, a As Range
On Error Resume Next 'si pas de constantes
Set plage = [D:D].SpecialCells(xlCellTypeConstants)
For Each a In plage.Areas
  If a.Count > 1 Then a(1) = Join(Application.Transpose(a), ", ")
Next
End Sub
A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Re,

Dans votre 2ème fichier Arawaza, la cellule C11 ne contient pas un lien hypertexte.

Mettez en un svp, alors vous pourrez lancer la macro SepareGroupe :

Code:
Sub SepareGroupe()
Dim h As Hyperlink
For Each h In [C:C].Hyperlinks
  h.Parent.EntireRow.Insert
Next
Groupe
End Sub

Sub Groupe()
Dim plage As Range, a As Range
On Error Resume Next 'si pas de constantes
Set plage = [D:D].SpecialCells(xlCellTypeConstants)
For Each a In plage.Areas
  If a.Count > 1 Then
    a(1) = Join(Application.Transpose(a), ", ")
    a(2).Resize(a.Count - 1).ClearContents
  End If
Next
End Sub
Les noms regroupés sont maintenant effacés.

Edit : j'ai l'impression que mon 1er post #5 n'a pas été vu...

A+
 
Dernière édition:

Arawaza

XLDnaute Junior
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Bonjour et merci pour vos réponses.
Effectivement, la macro de Job75 fonctionne correctement QUE SI il y a une case vide entre met différent groupe de nom. (dans le fichier adresse_mails2) il faut obligatoirement qu'il y ai une ligne vide en colonne D entre Sylvie et Michel par exemple.
Mon fichier contient 37000 lignes toujours formé de la même façon MAIS il peux y avoir des lignes vides ou pas.
Comment faire dans ce cas pour systématiquement insérer une ligne entre 2 séries d'adresse mails. Je refais un fichier Excel pour vous montrer. (adresse_mail3)

Merci de votre aide très précieuse.
 

job75

XLDnaute Barbatruc
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Bonjour,

Arawaza vous lisez les messages de temps en temps ???

Je ne pense pas... Sinon vous auriez vu la macro SepareGroupe des posts #11 et #12.

Elle insère justement les lignes vides séparatrices avant de lancer la macro Groupe.

A+
 

Arawaza

XLDnaute Junior
Re : Fusion ou concaténation Cellule dans la 1ere avec virgule

Bonjour,

Oui bien sur que je les lis. Quand j'applique la macro #11 ou #12, rien ne se passe ou alors je m'y prend mal...
Lorsque j'effectue sur mon Fichier original la macro (separeGroupe), j'ai tous les noms qui se mette dans la même cellule à savoir (D7)

Cordialement.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 530
dernier inscrit
zazie