Re : concaténer le texte de cellule d'un tableau dynamique
olivier_bahrein à dit:
Personne n'a d'idée à me suggérer ?
Bah, c'est juste pour savoir si c'est possible simplement avec les fonctions d'Excel.
Sinon un petit code VBA est toujours possible!
Bonjour,
je te propose la macro ci-dessous, à recopier dans un module de la feuille comportant les adresses e-mail à concaténer.
La première adresse à concaténer dois se trouver en B5
et les autres en dessous. (un nettoyage de la colonne C est prévu).
Le résultat des concaténations est rapatrié en cellule C2, prêt à être utilisé dans la messagerie.
Voici le code :
Sub Mep()
'
' Macro proposée par Ernest. 30/10/2006.
Dim derligneColonneC As Long
Dim derligneColonneB As Long
' trouve les références
derligneColonneC = (Range("c65536").End(xlUp).Row)
derligneColonneB = (Range("b65536").End(xlUp).Row)
' nettoyage colonne c
' ici je propose le nettoyage de la plage C5 Jusqu'à la dernière ligne de la colonne C
Range("C5:C" & derligneColonneC).Select
Selection.ClearContents
' mise en place nouvelles Adresses
' ATTENTION : la première ligne est située en C5
Range("C5").Select
ActiveCell.FormulaR1C1 = "=RC[-1]"
Range("C6").Select
ActiveCell.FormulaR1C1 = "=R[-1]C&"";""&RC[-1]"
Selection.AutoFill Destination:=Range("C6:C" & derligneColonneB)
Range("C6:C" & derligneColonneB).Select
' A partir d'ici on récupère la dernière concaténation
' et on la rapatrie en C2
' pour l'y copier en "copiage spécial valeur"
Range("C" & derligneColonneC).Select
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
' En c1 on écrit pour Outlook
Range("C1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Pour OutLook"
Selection.Font.Bold = True
End Sub
Ce code peut être affecté à un bouton et ainsi le programme peut-être lancé à tout moment, notamment, dès l'ajout d'une adresse en colonne B.
Pour finir, je précise que c'est ma première intervention dans ce forum.
Bonjour à tous.