Extrait une partie de texte dans une cellule

Résolu
Bonsoir, dans excel
Comment extrait une partie de texte dans une cellule et le coller dans une autre cellule?

EX: dans la cellule dans A1( TTTTTT DDDDDD SSSSS GGGGGG)

Mettre dans B1 (TTTTTT)
Mettre dans C1 (DDDDDD)
Mettre dans D1 (SSSSS)
Mettre dans D1 (GGGGGG)

Merci d'avance

4 réponses

  1. Salut,

    Si chaque mot est séparé par un espace, tu peux également faire directement avec la fonction Convertir

    sélectionne la liste de tes données/Données/Convertir/coche Délimité/Suivant/coche Espace/Suivant et Terminer

    tes données se placeront automatiquement dans chaque colonne.
    Par contre si tu souhaites garder les données initiales en colonne A, tu commences par les copier en B et tu appliques la procédure sur la colonne B

    1. Contributeur
      Bonjour
      Une solution mais en VBA ?
      Private Sub Separer()
      Dim TB, i As Integer
          TB = Split([A1], " ")
          For i = 0 To UBound(TB)
              [B1].Offset(0, i) = TB(i)
          Next i
      End Sub
      A+
      1. Bonsoir
        Merci,ca marche trés bien.
        Et si j'ai du texte de A1 à A10, ou jusqu'a ex : A200 ?
        A+
    2. Boujour
      Ca me mais en erreu ?
      Je n'arrive pas a vous inserré mon dossier

      A+
      1. Bonjour désolé
        Ok j'ai trouver l'erreu,dans mon mail il me manquai une lettre dans la formule comme ci-dessous.
        nex Cel il maquais le T
        Merci
        A+

        Private Sub Separer()
        Dim TB, i As Integer
        Dim Plage As Range, Cel As Range
        Set Plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
        For Each Cel In Plage
        TB = Split(Cel, " ")
        For i = 0 To UBound(TB)
        Cel.Offset(0, i + 1) = TB(i)
        Next i
        nex Cel
        End Sub
    3. Contributeur
      Private Sub Separer() 
      Dim TB, i As Integer 
      Dim Plage As Range, Cel As Range 
          Set Plage = Range("A1:A" & Range("A65536").End(xlUp).Row) 
          For Each Cel In Plage 
          TB = Split(Cel, " ") 
              For i = 0 To UBound(TB) 
                  Cel.Offset(0, i + 1) = TB(i) 
              Next i 
          Next Cel 
      End Sub


      Commence à la ligne 1 jusque la dernière ligne renseignée.
      Éventuellement changer la plage si ce n'est pas les bonnes adresses.
      A+
      Si tu </code>te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
      NOTE : Je ne répond pas aux MP pour les questions techniques.