Excel - comment splitter une cel sur x ligne
Résolu
xole xophe
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
J'ai une pb sur xls, j'ai des cellules avec plusieurs entrées dedans (séparé par un "retour à la ligne". cf exemple ci dessous).
J'aimerais savoir si vous connaissiez un bout de macro qui me permet de splitter des données sur plusieurs lignes...
ex de ce que j'ai :
Cell A1 =
Val 1
Val 2
Val 3
Cell A2 =
Val 3
Val 4
et ce que j'aimerai :
Cell A1 = val 1
Cell A2 = val 2
Cell A3 = val 3
Cell A4 = val 4
Cell A5 = val 5
merci par avance si d'aventure vous aviez la solution
J'ai une pb sur xls, j'ai des cellules avec plusieurs entrées dedans (séparé par un "retour à la ligne". cf exemple ci dessous).
J'aimerais savoir si vous connaissiez un bout de macro qui me permet de splitter des données sur plusieurs lignes...
ex de ce que j'ai :
Cell A1 =
Val 1
Val 2
Val 3
Cell A2 =
Val 3
Val 4
et ce que j'aimerai :
Cell A1 = val 1
Cell A2 = val 2
Cell A3 = val 3
Cell A4 = val 4
Cell A5 = val 5
merci par avance si d'aventure vous aviez la solution
3 réponses
-
Bonsoir,
Est-ce que Val 3 qui apparaît 2 fois est une faute de frappe ou est-ce que tu veux supprimer les doublons ?
Est-ce que tu insères des lignes complètes ou seulement des cellules dans la colonne A ?
-
Bonsoir,
Proposition : traite toutes les lignes de A.
On peut modifier pour ne traiter qu'une zone sélerctionnée.Sub splitv() Dim c As Range, lig As Long, ch As Variant, i As Long For lig = [A65536].End(xlUp).Row To 1 Step -1 Set c = Cells(lig, "A") If InStr(c, vbLf) Then ch = Split(c.Value, vbLf) For i = UBound(ch) To 1 Step -1 c.Offset(1, 0).Insert Shift:=xlDown c.Offset(1, 0) = ch(i) Next i c = ch(0) End If Next lig End Sub
eric -
De rien
Je met en résolu alors...
Bonne continuation :-)