OVH Cloud OVH Cloud

VBA - concatener

3 réponses
Avatar
Setec Essarts
Bonjour,
je cherche une macro qui me permette de concaténer automatiquement une plage
de cellule (dans une seule colonne), me donnant le résultat sous format
Valeur et des Alt+Entrée entre chaque valeur. En fait, je cherche à
représenter plusieurs cellules dans une seule.

Merci d'avance

Vincent JACQUES

3 réponses

Avatar
Emcy
Salut

Sub main()

Dim a, b, c As String

a = Range("A1").Value
b = Range("A2").Value

'deux solutions possibles
c = a + " " + b 'valable uniquement si a et b ne sont pas
des chiffres
c = a & " " & b

Range("A3").Value = c

End Sub

ça te va ?

-----Message d'origine-----
Bonjour,
je cherche une macro qui me permette de concaténer
automatiquement une plage

de cellule (dans une seule colonne), me donnant le
résultat sous format

Valeur et des Alt+Entrée entre chaque valeur. En fait,
je cherche à

représenter plusieurs cellules dans une seule.

Merci d'avance

Vincent JACQUES


.



Avatar
Phil
Bonjour,

Petite précision: pour insérer le saut de ligne
(alt+entrée)
il faut faire: donnée1 & chr(10) & donnée2

Cela va-t-il?
-----Message d'origine-----
Salut

Sub main()

Dim a, b, c As String

a = Range("A1").Value
b = Range("A2").Value

'deux solutions possibles
c = a + " " + b 'valable uniquement si a et b ne sont pas
des chiffres
c = a & " " & b

Range("A3").Value = c

End Sub

ça te va ?

-----Message d'origine-----
Bonjour,
je cherche une macro qui me permette de concaténer
automatiquement une plage

de cellule (dans une seule colonne), me donnant le
résultat sous format

Valeur et des Alt+Entrée entre chaque valeur. En fait,
je cherche à

représenter plusieurs cellules dans une seule.

Merci d'avance

Vincent JACQUES


.

.





Avatar
Daniel.M
Salut,

Sub ReGroupe()
Dim s As String, C As Range

If Selection.Column = 1 Then Exit Sub ' pas de lignes en haut

For Each C In Selection ' concatène le contenu
s = s & C.Value & Chr(10)
Next C
s = Left(s, Len(s) - 1) ' enlève le dernier Chr(10), facultatif
Selection(0, 1) = s
'Selection.Offset(-1, 0).Merge ' ou la prochaine instruction
Selection.Offset(-1, 0).HorizontalAlignment = xlCenterAcrossSelection
End Sub

Salutations,

Daniel M.

"Setec Essarts" wrote in message
news:3fdd88df$0$7153$
Bonjour,
je cherche une macro qui me permette de concaténer automatiquement une plage
de cellule (dans une seule colonne), me donnant le résultat sous format
Valeur et des Alt+Entrée entre chaque valeur. En fait, je cherche à
représenter plusieurs cellules dans une seule.

Merci d'avance

Vincent JACQUES