Plusieurs lignes dans une cellule en colonnes
Résolu
blocholivier
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Plusieurs lignes dans une cellule en colonnes
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Déplacer une colonne excel - Guide
7 réponses
Bonjour,
Une possibilité en VBA si tu as quelques notions, quelle colonne est à traiter
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Une possibilité en VBA si tu as quelques notions, quelle colonne est à traiter
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour
Essaie une macro de ce style
A adapter à tes besoins
Ici les cellules à scinder sont en colonne A d'une 1ere feuille et sont reportées dans les colonnes d'une 2nde feuille
Sub encol()
Dim Tableau() As String
Dim i As Integer
DL = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For n = 1 To DL
'découpe la chaine en fonction des retour à la ligne
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Sheets(1).Range("A" & n), Chr(10))
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
'Le résultat est inscrit dans la colonne x suivante de la feuille 2
x = x + 1
Sheets(2).Cells(1, x).Value = Tableau(i)
Next i
Next n
End Sub
Cdlmnt
Essaie une macro de ce style
A adapter à tes besoins
Ici les cellules à scinder sont en colonne A d'une 1ere feuille et sont reportées dans les colonnes d'une 2nde feuille
Sub encol()
Dim Tableau() As String
Dim i As Integer
DL = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For n = 1 To DL
'découpe la chaine en fonction des retour à la ligne
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Sheets(1).Range("A" & n), Chr(10))
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
'Le résultat est inscrit dans la colonne x suivante de la feuille 2
x = x + 1
Sheets(2).Cells(1, x).Value = Tableau(i)
Next i
Next n
End Sub
Cdlmnt
Oula pas du tout.
La colonne a traité serait la "E" pour des copie sur les colonnes F, G, H, I, J et éventuellement K ... il peut y avoir jusqu'à 6 lignes en fait.
La colonne a traité serait la "E" pour des copie sur les colonnes F, G, H, I, J et éventuellement K ... il peut y avoir jusqu'à 6 lignes en fait.
Sub encol()
Dim Tableau() As String
Dim i As Integer
DL = Sheets(1).Range("E" & Rows.Count).End(xlUp).Row
For n = 1 To DL
'découpe la chaine en fonction des retour à la ligne
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Sheets(1).Range("E" & n), Chr(10))
x = 5
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
'Le résultat est inscrit dans les colonnes
x = x + 1
Sheets(1).Cells(n, x).Value = Tableau(i)
Next i
Next n
End Sub
Voilà pour que ce soit sur la même feuille
Dim Tableau() As String
Dim i As Integer
DL = Sheets(1).Range("E" & Rows.Count).End(xlUp).Row
For n = 1 To DL
'découpe la chaine en fonction des retour à la ligne
'le résultat de la fonction Split est stocké dans un tableau
Tableau = Split(Sheets(1).Range("E" & n), Chr(10))
x = 5
'boucle sur le tableau pour visualiser le résultat
For i = 0 To UBound(Tableau)
'Le résultat est inscrit dans les colonnes
x = x + 1
Sheets(1).Cells(n, x).Value = Tableau(i)
Next i
Next n
End Sub
Voilà pour que ce soit sur la même feuille
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
la solution la plus simple est pourtant le VBA, tu vas essayer et je vais faire simple, et par petit coup
sur ton Ruban as tu l'onglet Développeur, il se trouve après Données, Révision et Affichage
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
la solution la plus simple est pourtant le VBA, tu vas essayer et je vais faire simple, et par petit coup
sur ton Ruban as tu l'onglet Développeur, il se trouve après Données, Révision et Affichage
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
Pour ma part j'avais préparé ce code
Sub Eclater()
Dim m, tablo, k As Variant
For m = 2 To Range("E65536").End(xlUp).Row
tablo = Split(Range("E" & m), Chr(10))
For k = 0 To UBound(tablo)
If k >= 0 Then Cells(m, 5 + k) = tablo(k)
Next k
Next m
End Sub
Pour ma part j'avais préparé ce code
Sub Eclater()
Dim m, tablo, k As Variant
For m = 2 To Range("E65536").End(xlUp).Row
tablo = Split(Range("E" & m), Chr(10))
For k = 0 To UBound(tablo)
If k >= 0 Then Cells(m, 5 + k) = tablo(k)
Next k
Next m
End Sub
Salut Via,
Oui tout a fait, j'attendais la réponse de Blocholivier voir s'il connaissait le VBA et s'il avait l'onglet Développeur pour créer un bouton activex et coller le code directement dedans mais vu sa réponse "Oula pas du tout." je suis resté prudent et avancé par petit coup, mais bon, il y a deux codes pour ceux à qui cela peut intéresser et puis avec les retours chariot dans les cellules il y a le Chr(13) etc ... qui n'ont pas été traités et peu faire l'objet d'autres demandes
cordialement
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Oui tout a fait, j'attendais la réponse de Blocholivier voir s'il connaissait le VBA et s'il avait l'onglet Développeur pour créer un bouton activex et coller le code directement dedans mais vu sa réponse "Oula pas du tout." je suis resté prudent et avancé par petit coup, mais bon, il y a deux codes pour ceux à qui cela peut intéresser et puis avec les retours chariot dans les cellules il y a le Chr(13) etc ... qui n'ont pas été traités et peu faire l'objet d'autres demandes
cordialement
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.