Décomposition de string - macro

Fermé
philip.dang Messages postés 35 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 - 20 juil. 2011 à 16:16
philip.dang Messages postés 35 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 - 21 juil. 2011 à 12:11
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



A voir également:

1 réponse

tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
20 juil. 2011 à 17:54
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
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
Modifié par tchernosplif le 21/07/2011 à 02:39
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
philip.dang Messages postés 35 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 1 septembre 2011 1
21 juil. 2011 à 12:11
Merci beaucoup, je vais essayer d'implanter votre solution. Je vous fait un retour dans la journée.
0