Séparé une cellule en plusieurs

gsk -  
gskmac Messages postés 3 Statut Membre -
Bonjour,

je voudrais repartir sur plusieurs colonnes , avec une condition sur le nombre de "_x000B_" pour chaque ligne
les cellules suivantes et d autres colonnes avec les libelles entre parenthese
par exemple

Ligne 1
02 33 36 72 32 (Atelier en Normandie)_x000B_06 67 21 72 18 (Eric)_x000B_06 61 23 00 81 (Harold, le fils)
Ligne 2
01 23 45 67 89 (Perso)_x000B_06 78 91 23 45 (Mobile)
Ligne 3
09 87 65 43 21

Merci de votre aide

3 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    pas facile à comprendre.. quelles sont les infos dans la cellule d'origine.*
    pour faire clair, déposez un modèle avec des données conformes mais bidonnées si confidentialité, ici:
    http://mon-partage.fr
    ajoutez y quelques explications sur le résultat attendu et revenez ici coller le lien créé sur le site
    à vous lire
    crdlmnt
    1
    1. gskmac Messages postés 3 Statut Membre
       
      Effectivement , voici le fichier et un grand merci pour votre aide si precieuse
      https://mon-partage.fr/f/vclDJ3Jm/
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    une possibilité :
    1) tu sélectionnes les cellules à répartir.
    2) tu fais un Remplacer (CTRL+h) de "(" par "µ" puis ")_x000B_" par "µ", ")" par "µ" et enfin "_x000B_" par "µµ"
    3) tu termines par une conversion (menu Données\Outils de données) en délimité en cochant "autre" et en saisissant "µ"

    Cordialement

    PS : si tu veux l'automatiser, lance l'enregistreur de macro en faisant ces manipulations
    1
    1. gskmac Messages postés 3 Statut Membre
       
      j essaye tout de suite , merci
      0
  3. Archer
     
    Bonjour
    si tu bricole un peux en VBA
    voila une macro
    Sub Test()
       For L = 2 To 4 'Nombre de Lignes
          MaVar = Range("A" & L).Value
          MaVar = Replace(Replace(MaVar, "(", "|"), ")", "|")
          MaVar = Replace(MaVar, "_x000B_", "|")
          Dec = Split(MaVar, "|")
             For C = 0 To UBound(Dec)
                Cells(L, C + 2).Value = Dec(C)
             Next
       Next
    End Sub
    

    A+
    Maurice
    1
    1. gskmac Messages postés 3 Statut Membre
       
      Merci Archer
      J admire cette maitrise mais malheureusement je ne suis pas expert en VBA
      Un grand merci a vous 2,
      la solution de JvDo marche superbement aussi
      0