Déconcatener sous excel

Nico -  
 DarthLighter -
Bonjour,

je cherche à séparer les informations dans une cellule de manière automatique grâce à une formule sans avoir à me faire l'action manuelle convertir

voici un exemple de données contenu dans une cellule
2019|Q2|NICO|NCA|NR|EP|Services_Full_SAP|NOR_TEST_SU|PAR|FRA

et j'aimerais avoir les données dans des colonnes séparées (en utilisant le "|" comme séparateur)

merci
nicolas

5 réponses

  1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     


    Bonjour.

    Utiliser DONNÉES/Conversion.
    1
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    créer une formule pour déconcaténer sans passer la fonction convertir va être particulièrement acrobatique vu la composition du texte
    Mieux vaudrait passer par VBA avec un clic sur la cellule à traiter
    crdlmnt
    0
  3. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Je m'excuse : j'avais survolé la première phrase de Nico, sans m'attarder sur "grâce à une formule" ...
    Ma réponse #2 est donc hors-propos ; il faut prendre en compte le message de Vaucluse, à qui j'adresse mes amicales salutations.
    Mais c'est vraiment dommage, Nico, de ne pas vouloir profiter d'un outil aussi performant et efficace que DONNÉES/Conversion, qui a certainement donné un travail fou d'analyse et de programmation aux développeurs de Microsoft !
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour à tous,
    une petite fonction personnalisée à mettre dans un module standard :
    Function decouper(ch As String, Num As Long, sep As String)
        decouper = Split(ch, sep)(Num - 1)
    End Function

    Ex syntaxe sur feuille :
    =decouper(A2;2;"|")
    https://www.cjoint.com/c/IGmkXdpbJ3k
    eric

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. DarthLighter
     
    Bonjour,

    Voilà un petit code vba que tu peux utiliser
    Il a été tiré de l'outil Excel Text to Columns

    Sub deconcatene()
    
    'Cellules que tu veux deconcatener
    Range("A1").select
    
    'Code de deconcatenation
    'Adapter le B1 qui sert à localiser la cellules à partir de laquelle il va coller les données
     Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
            :="|", FieldInfo:=Array(Array(1, 2), Array(2, 1), Array(3, 1)), _
            TrailingMinusNumbers:=True
    
    End Sub
    
    0