Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

 

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 ?


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
316
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…