Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: concatener cellules d'1 plage dynamique

  • Initiateur de la discussion Initiateur de la discussion ZG1142
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

ZG1142

Guest
Bonjour

J'aurais besoin d'un coup de main. qq'un aurait-il 5 min?
Dans le developpement de ma macro je me retrouve avec une plage selectionnée type:
Range(Selection, Selection.End(xlToRight))
Dans chacune des cellules selectionée il y a du texte.
Mon souhait serait de concatener dans une autres cellules, les valeurs de chacunes des cellules selectionées en les séparant d'une virgules. le but étant de m'en servir dans un msgbox...

J'ai beau chercher sur les forums, je n'ai pas trouvé de discussion concernant mon problème...
Qq'un aurait il une idée?

Merci
 
Re : VBA: concatener cellules d'1 plage dynamique

Bonjour,

essaye peut être ainsi :

Code:
Dim c As Range, message As String
For Each c In Selection
    message = message & c.Value & ", "
Next c
MsgBox Mid(message, 1, Len(message) - 2)

bon après midi
@+
 
Re : VBA: concatener cellules d'1 plage dynamique

Bonjour ZG1142,

Code:
Sub test()
Dim Cellule As Range, Texte As String
    Texte = ""
    For Each Cellule In Range(Selection, Selection.End(xlToRight))
        Texte = Texte & Cellule.Value & ","
    Next Cellule
    If Len(Texte) > 0 Then Texte = Left(Texte, Len(Texte) - 1)
    MsgBox Texte
End Sub

Edit : Bonjour Pierrot 😉
 
Re : VBA: concatener cellules d'1 plage dynamique

Pierrot

C'est encore toi qui me sort de la merde!! merci bcp!!!! ca marche tres bien!!!!
Par contre, saurais tu comment dasn ce msgbox je pourrait lui donner un titre, et mettre un warning genre vb critical?
 
Re : VBA: concatener cellules d'1 plage dynamique

Bonjour

J'ai utilisé la macro. Elle est parfaite pour faire apparaître le résultat dans une box. Mais moi je cherche à faire apparaître le résultat dans une cellule du fichier Excel.
Quelqu'un peut m'aider ?

Merci !!
 
Re : VBA: concatener cellules d'1 plage dynamique

Bonsoir,

modifie comme suit :

Code:
Dim c As Range, message As String
For Each c In Selection
    message = message & c.Value & ", "
Next c
range("A1").value = Mid(message, 1, Len(message) - 2)

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
4
Affichages
2 K
stage_ferrit
S
F
Réponses
3
Affichages
2 K
FéFéClochette
F
F
Réponses
2
Affichages
1 K
florence33
F
B
Réponses
1
Affichages
1 K
P
Réponses
12
Affichages
3 K
Pti Guily
P
E
Réponses
13
Affichages
25 K
E
G
Réponses
2
Affichages
3 K
G
M
Réponses
3
Affichages
5 K
maystreet
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…