Edit: Désolé, n'a pas lu vos questions correctement ...
Vous pouvez écrire un script vba comme ça:
Sub test()
Dim result As String
result = Replace(ActiveCell.value, Chr(10), ";")
ActiveCell.Offset(1, 0).Select
ActiveCell.value = result
End Sub
Il prendra la cellule active, remplacer tous les sauts de ligne par des points-virgules et mettre le résultat dans la ligne suivante.
Edit: Une autre version faire cela pour plusieurs cellules:
Sub test()
Dim value As String
Do
value = ActiveCell.value
If (value = "") Then Exit Do
ActiveCell.Offset(0, 1).value = Replace(ActiveCell.value, Chr(10), ";")
ActiveCell.Offset(1, 0).Select
Loop While (True)
End Sub
Cette version commencera à la cellule active et boucle à travers toutes les cellules ci-dessous jusqu'à ce qu'il trouve une cellule vide.
La valeur remplacée est écrite dans la cellule à côté de la valeur d'origine. Si vous souhaitez remplacer la valeur d'origine, supprimez .Offset(0, 1)
.
Le deuxième paramètre est la valeur à remplacer, c'est Chr(10)
, le Newline character dans notre cas.
O/p est 1234 \ n567 \ n454; --- \ n indique une nouvelle ligne –
Désolé, a changé ma réponse –
Excellent! Merci pour l'édition –