Fonction SPLIT
Résolu
Nico
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai n cellules dans une colonne. Les n cellules contiennent de 1 à n lignes.
Je souhaite dissocier ces lignes dans une autre colonne.
La macro fonctionne si je définie une cellule (ex. B1). En revanche pour une plage, j'ai toujours une erreur.
Ci-dessous la macro en question :
Merci de votre aide !
J'ai n cellules dans une colonne. Les n cellules contiennent de 1 à n lignes.
Je souhaite dissocier ces lignes dans une autre colonne.
La macro fonctionne si je définie une cellule (ex. B1). En revanche pour une plage, j'ai toujours une erreur.
Ci-dessous la macro en question :
Sub decoupe2() Dim s As Variant, i As Byte s = Split(Range("B" & Rows.Count), Chr(10)) For i = 0 To UBound(s) Cells(i + 1, 3).Value = s(i) Next i End Sub
Merci de votre aide !
A voir également:
- Text split excel francais
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Liste déroulante excel - Guide
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Word et excel gratuit - Guide
- Excel cellule couleur si condition texte - Guide
4 réponses
Bonjour,
Avec restitution à partir de la colonne C :
Code non testé, écrit "à l'arrache"...
Avec restitution à partir de la colonne C :
Dim DL As Long, Lig As Long, Col As Integer, s As Variant, i As Byte DL = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row Col = 3 For Lig = 1 To DL If Instr(Range("B" & Lig), Chr(10)) > 0 Then s = Split(Range("B" & Lig), Chr(10)) For i = 0 To UBound(s) Cells(i + 1, Col).Value = s(i) Next i Col = Col + 1 End If Next Lig
Code non testé, écrit "à l'arrache"...
Est-il possible de mettre le contenu des lignes l'une à la suite des autres et non en changeant de colonne ?
Regarde la solution de Thev (salutations au passage).