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

Fusionner des cellules non vide en VBA

Louax

XLDnaute Nouveau
Bonjour,

J'aimerai fusionner les cellule de a1 à a4 en c1 sachant que :
a1 : la civilité, nom prénom d'une personne
a2 : première ligne de son adresse
a3 : deuxième ligne de son adresse
a4 : code postal

et donc en c1 avoir toute ces informations les une à la suite des autres avec un retour à la ligne ce qui visuellement donnerait en c1 :

la civilité, nom prénom d'une personne
première ligne de son adresse
deuxième ligne de son adresse
code postal

La fonction Range("a1:a4").Merge ou Range("a1:a4").MergeCells = true ne foonctionne pas car elle ne garde que les valeurs de a1

Merci pour votre aide
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Louax, bonjour le forum,

Peut-êre comme ça :

VB:
Sub Macro1()
Dim T As String

T = Range("A1").Value & vbCrLf & Range("A2").Value & vbCrLf & Range("A3").Value & vbCrLf & Range("A4").Value
Range("C1").Value = T
End Sub

[Édition]
Arf ! Grillé par Gosselien que je salue au passage !...
 

Louax

XLDnaute Nouveau
Merci à tous les deux, en fait ce n'est pas fusionner mais concaténer
je ne me souvenez plus de Chr(10) mais j'ai retrouvé et j'ai écris ce code :

Sub macro2()
Cells(1, 5) = Cells(1, 1)
For i = 2 To 4
Cells(1, 5) = Cells(1, 5) & Chr(10) & Cells(i, 1)
Next
End Sub
 

Yurperqod

XLDnaute Occasionnel
Bonjour à tous

On peut obtenir le même résultat sans passer par le VBA, simplement avec une formule
=A1&CAR(10)&A2&CAR(10)&A3&CAR(10)&A4
Avec pour la cellule contenant cette formule, cette option cochée
Contrôle du texte: Renvoyer à la ligne automatiquement
(à régler dans : Format de cellule, Alignement)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…