Bonjour
malheureusement, la fonction renvoi à la ligne tiendra compte de la dimensions de la cellule, pas des points virgules et les renvois resteront assujettis aux longueurs de chaque texte.
Je propose cette méthode:
dans une cellule hors champ,X1 pour l'exemple entrez un blanc et terminer par alt+entrée
dans une colonne contiguë au texte à traiter (mettons B1 pour un texte en A1:
=SUBSTITUE(A1;";";$X$1)
formater la cellule résultat en renvoi à la ligne automatique et tirer sur la hauteur du champ
Merci, je viens d'essayer mais cela ne marche pas il me remplace les points virgule par de simple espace.
N'existe t'il pas un symbol de type "^|" signifiant aller à la ligne?
Dans mes souvenirs il y en a un mais je ne me rappel plus comment il s'écrit.
Je pense que c'est parce que vous n'avez pas fait l'entrée dans le cellule code correctemment.
je répéte:
tapez un espace
et faites entrée en maintenant la touche alt enfoncée. voila ce que ça donne:
https://www.cjoint.com/?0cxm7boHjav texte origine en A1, formule en B1 blanc et (alt et enter) en G1
crdlmnt
Ps n'oubliez pas non plus de formater la cellule avec retour à la ligne
pour Michel:
exact et excellente idée, bravo, je l'avais oublié celui là
en fait cette solution permet de fonctionner sans la cellule intermédiaire avec la formule:
=SUBSTITUE(A1;";";CAR(10))
bien vu
crdlmnt
Remplacer les points virgules par des retours lignes dans une cellule par VBA
Sub test()
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
Range("A" & i) = Application.Substitute(Range("A" & i), ";", vbLf)
Next i
End Sub
ou
Sub test()
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
Range("A" & i) = Application.Substitute(Range("A" & i), ";", Chr(10))
Next i
End Sub
je souhaite remplacer les ";" par des renvoyer à la ligne automatiquement, mais à partir de l'outil remplacer je ne vois pas ou je peux demander un renvoi automatique à la ligne?
Merci pour toutes vos réponses j'ai bien avancé, cela serai encore mieux si le texte pouvais aller à la ligne, et que chaque ligne sois dans une cellule différente.
bonjour a tous
il doit bien y avoir une formule (differente) par cellule comme dit mic13710, avec cherche etc... mais j'ai du mal
pour eviter une macro, peut etre avec une formule matricielle
1. selectionner la cellule a spliter
2. convertir en delimité ";" /Données/Convertir etc .. pour separer les mots
3. se placer a la ligne en dessous
4. selectionner autant de lignes que de mots
5. = transpose(plage_des_mots)
6. Ctrl+Maj+Entrée pour valider la formule matricielle
bonne suite
Re
à titre d'info, ce n'est peut être pas ce que vous voulez, mais on ne sait jamais
si vous utilisez directement "Convertir" avec le point virgule en séparateur, vous pouvez ensuite:
copier le champ obtenu
faire un collage spécial transposé dans un autre champ
cette opération vous donne les infos d'origine de chaque cellule décomposées et superposées, mais en ligne
par exemple:
A;B;C
D;E
F;G;H
convertit donne:
A B C
D E
F G H
et transposé
A D F
B E G
C H
N'existe t'il pas un symbol de type "^|" signifiant aller à la ligne?
Dans mes souvenirs il y en a un mais je ne me rappel plus comment il s'écrit.
En fait, la mise au format d'une cellule se fait à la validation;
Michel
je répéte:
tapez un espace
et faites entrée en maintenant la touche alt enfoncée.
voila ce que ça donne:
https://www.cjoint.com/?0cxm7boHjav
texte origine en A1, formule en B1 blanc et (alt et enter) en G1
crdlmnt
Ps n'oubliez pas non plus de formater la cellule avec retour à la ligne
exact et excellente idée, bravo, je l'avais oublié celui là
en fait cette solution permet de fonctionner sans la cellule intermédiaire avec la formule:
=SUBSTITUE(A1;";";CAR(10))
bien vu
crdlmnt