Décomposition de string - macro

philip.dang Messages postés 37 Statut Membre -  
philip.dang Messages postés 37 Statut Membre -
Bonjour,

J'ai fait pas mal de recherche sur mon problème mais je n'en ai trouvé aucune vraiment élégante.

J'ai une colonne rempli de groupes nominaux :
exemple : colonne AA : bonjour; apprendre à voler, destin d'Alain, à l'arrière, manger

Je désire faire une colonne par mots : le résultat serait
AA : bonjour, apprendre, destin, à, manger
BB : (cellule vide) , à, d', l', (cellule vide)
CC : (cellule vide), voler, Alain, arrière, (cellule vide)

Il me faudrait une macro qui puisse faire ça. En gros, je voudrais décomposer le mot lorsqu'on tombe sur un espace " ", un "d'" ou un "l'".

Avez-vous des solutions ou des pistes de recherche?
Merci

1 réponse

  1. tchernosplif Messages postés 714 Statut Membre 249
     
    Bonjour,

    Je vous propose une solution sans macro (jusqu'à 3 espaces), l'exemple ne prends pas en compte les ' , mais l'idée est là.

    cellule A1:
    apprendre à lire correctement

    cellule B1:
    =SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;" ";"$";1);" ";"£";1);" ";"%";1)
    renvoie: apprendre$à£lire%correctement

    cellule C1:
    =STXT(B1;1;CHERCHE("$";B1;1)-1)
    renvoie: apprendre

    cellule D1:
    =STXT(B1;CHERCHE("$";B1;1)+1;CHERCHE("£";B1;1)-(CHERCHE("$";B1;1)+1))
    renvoie: à

    cellule E1:
    =STXT(B1;CHERCHE("£";B1;1)+1;CHERCHE("%";B1;1)-(CHERCHE("£";B1;1)+1))
    renvoie: lire

    cellule F1:
    =DROITE(B1;NBCAR(B1)-CHERCHE("%";B1;1))
    renvoie: correctement

    NB: si il y a moins de 4 mots, il faut rajouter un espace à la fin)

    J'essaierai de vous liver une solution complète, si personne ne vous aide avec une macro, mais je manque de temps.
    0
    1. tchernosplif Messages postés 714 Statut Membre 249
       
      Bonsoir,

      Voici un fichier d'exemple plus abouti, sans macro, en prenant en compte les apostrophes ' (ceux avec un espace devant ou derrière ^^) et sans limitation du nombre de mots.

      http://www.cijoint.fr/cjlink.php?file=cj201107/cij74l3FJI.xls

      SI vous avez besoin de plus de mots, vous pouvez avec la même logique copier/coller les colonnes vertes (4 par 4) et la "colonne intermédiaire" vers la droite .

      NB: certaines colonnes sont volontairement cachées, certaines formules pourraient être simplifiées, avis aux amateurs.
      0
    2. philip.dang Messages postés 37 Statut Membre 1
       
      Merci beaucoup, je vais essayer d'implanter votre solution. Je vous fait un retour dans la journée.
      0