Séparer les lignes d'une cellule
Résolu
sofienexcel
Messages postés
72
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Dans la cellule B1 j'ai des différentes dates chacune dans une ligne et toutes dans la même cellule, je cherche a mettre chaque date dans une cellule de la colonne C, soit par exemple C1 pour la première ligne (1er date), C2 pour la deuxième, C3 pour la 3ème..., il est a noter que le contenu de B1 est dynamique et que le nombre des lignes peut varier de 1 à 365
merci
Dans la cellule B1 j'ai des différentes dates chacune dans une ligne et toutes dans la même cellule, je cherche a mettre chaque date dans une cellule de la colonne C, soit par exemple C1 pour la première ligne (1er date), C2 pour la deuxième, C3 pour la 3ème..., il est a noter que le contenu de B1 est dynamique et que le nombre des lignes peut varier de 1 à 365
merci
A voir également:
- Séparer les lignes d'une cellule
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Excel cellule couleur si condition texte - Guide
- Séparer pdf - Guide
- Bloquer une cellule excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
2 réponses
Bonjour sofienexcel,
Tu as très bien fait de m'en parler.
Voici le nouveau code VBA ; seule différence avec le précédent :
ajout de la ligne #7 (juste après la ligne Dim).
Attention : ce code efface toute la colonne C, donc si tu as des données
en dessous que tu ne veux pas effacer, ne l'utilises pas, et il faudra un autre code ; donc n'hésites pas à me demander autre chose si besoin.
Cordialement. 😊
Tu as très bien fait de m'en parler.
Voici le nouveau code VBA ; seule différence avec le précédent :
ajout de la ligne #7 (juste après la ligne Dim).
Option Explicit Sub Essai() Dim chn As String, lng As Long, lig As Long, p As Long Columns("C").ClearContents: Application.ScreenUpdating = False chn = [B1] & Chr$(10): lng = Len(chn): lig = 1 Do While lng > 0 p = InStr(chn, Chr$(10)): Cells(lig, 3) = Left$(chn, p - 1) lng = lng - p: chn = Right$(chn, lng): lig = lig + 1 Loop End Sub
Attention : ce code efface toute la colonne C, donc si tu as des données
en dessous que tu ne veux pas effacer, ne l'utilises pas, et il faudra un autre code ; donc n'hésites pas à me demander autre chose si besoin.
Cordialement. 😊
Bonjour sofienexcel,
Je te propose ce code VBA, mais à toi de mettre dans la colonne C
le format date que tu veux ! Mets cette macro dans Module1.
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Je te propose ce code VBA, mais à toi de mettre dans la colonne C
le format date que tu veux ! Mets cette macro dans Module1.
Option Explicit Sub Essai() Dim chn As String, lng As Long, lig As Long, p As Long chn = [B1] & Chr$(10): lng = Len(chn): lig = 1 Do While lng > 0 p = InStr(chn, Chr$(10)): Cells(lig, 3) = Left$(chn, p - 1) lng = lng - p: chn = Right$(chn, lng): lig = lig + 1 Loop End Sub
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Bonjour, je reviens vers vous,
Le problème qui m'a rencontré est que: la cellule B1 est dynamique, si dans le premier exemple elle contient 5 dates, je vais avoir 5 nouvelles cellules remplies dans la ligne C, et après lorsque les données de la cellule B1 passent à seulement 3 dates, j'ai toujours les 5 cellules remplies de la colonne C dont 3 nouvelles valeurs et deux anciennes
Le problème qui m'a rencontré est que: la cellule B1 est dynamique, si dans le premier exemple elle contient 5 dates, je vais avoir 5 nouvelles cellules remplies dans la ligne C, et après lorsque les données de la cellule B1 passent à seulement 3 dates, j'ai toujours les 5 cellules remplies de la colonne C dont 3 nouvelles valeurs et deux anciennes