Microsoft 365 Copier des retours chariots d'une celulle dans des celulles séparément

Bichette001

XLDnaute Junior
bonjour !
dans une celulle j'ai ceci :

jhff
jfkjf
hjgkjhg

comment copier ce contenu sur 3 celulles les unes en dessous des autres svp ?🙏
merci
 

Richard30

XLDnaute Nouveau
Bonjour
Dans la première cellule (E2 est la cellule qui contient votre texte d'origine)
en E5 : =GAUCHE(E2;CHERCHE(CAR(10);E2))
CAR(10) est le retour chariot.
Dans la cellule du dessous (E6) : =GAUCHE(DROITE(E2;NBCAR(E2)-CHERCHE(CAR(10);E2));CHERCHE(CAR(10);DROITE(E2;NBCAR(E2)-CHERCHE(CAR(10);E2))))
et la dernière des 3 (E7) : =DROITE(E2;NBCAR(E2)-NBCAR(E5)-NBCAR(E6))
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

Voyez le fichier joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode <> 1 Then Exit Sub
Dim s
ActiveCell.PasteSpecial xlPasteValues
Application.CutCopyMode = 0
s = Split(ActiveCell, vbLf)
If UBound(s) >= 0 Then ActiveCell.Resize(UBound(s) + 1) = Application.Transpose(s)
End Sub
Copiez C3 puis sélectionnez une cellule quelconque.

A+
 

Pièces jointes

  • Classeur(1).xlsm
    14.9 KB · Affichages: 2

patricktoulon

XLDnaute Barbatruc
bonsoir
juste en passant pour ceux qui ne l'ont pas
VB:
Function Fractionner_Texte(ByVal v$, ByVal AsCchar&)
    If Application.Caller.Rows.Count > 1 Then
        Fractionner_Texte = Application.Transpose(Split(v, Chr(AsCchar)))
    Else
        Fractionner_Texte = Split(v, Chr(AsCchar))
    End If
End Function
à valider en matriciel en dessous 2019 ou 365

demo.gif
 

patricktoulon

XLDnaute Barbatruc
re
juste pour eviter les "N/a
petit ajout au cas ou la formule aurait été étendue sur une plage de cellules plus grande que le nombre de ligne du texte
VB:
Function Fractionner_Texte(ByVal v$, ByVal AsCchar&)
    If Application.Caller.Rows.Count > 1 Then
        Fractionner_Texte = Application.Transpose(Split(v & String(Application.Caller.Rows.Count, Chr(AsCchar)), Chr(AsCchar)))
    Else
        Fractionner_Texte = Split(v & String(Application.Caller.Columns.Count, Chr(AsCchar)), Chr(AsCchar))
    End If
End Function
 

Staple1600

XLDnaute Barbatruc
Re

@patricktoulon
A ton avis?
Tu crois que je me serai fendu d'un post un samedi matin au sortir de ma douche, les cheveux encore humides, si ce n'était pas le cas ?
;)
BahOuiCapture.PNG

De plus pas besoin de sélectionner le nombre de cellules idoines
O365 fait la propagation tout seul comme un grand

Et si tu veux de l'horizontal, c'est prévu aussi
=FRACTIONNER.TEXTE(A1;CAR(10))
 

Discussions similaires

Réponses
4
Affichages
302

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin