1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Option Explicit
Sub e()
Dim Plage As Range, R As Range, A, n As Byte, k As Byte
Set Plage = Range("A1", [A65000].End(xlUp)) 'à adapter
[B:C] = "" 'nettoyage en cas de changement de valeur
For Each R In Plage
A = Split(R, vbLf) 'array des termes
Select Case UBound(A) 'test de la dimension du tableau obtenu
Case -1: R(1, 2) = "" 'cellule vide
Case 0: R(1, 2) = A(0) 'un seul retour
Case Else
R(1, 2) = A(0)
k = InStr(R, vbLf) 'rang du premier retour
R(1, 3) = Right(R, Len(R) - k) 'droite après celui-ci, retours compris
End Select
Next
End Sub |
Partager