Bonsoir tout le monde
J'ai une solution sans VBA, mais avec des noms définis (pour me passer des formules matricielles).
L'idée étant de créer une matrice contenant les Mots séparés par les points, on n'est pas limité par le nombre de points.
Commentaires | Noms définis | Définition |
La plage contenant les chaines à découper : | Entrées | =Feuil1!$C$3:$C$9 |
Chaines correspondant à la ligne courante : | Entrée | =Entrées Feuil1!16:16 |
Comptage du nombre de mots dans la chaîne courante : | NbMots | =NBCAR(Entrées Feuil1!20:20)-NBCAR(SUBSTITUE(Entrées Feuil1!20:20;".";""))+1 |
Hachage de la chaîne en plusieurs lignes; le mot à extraire étant borné par le caractère "¯" | MarquerMots | =SUBSTITUE(SUBSTITUE("."&Entrée;".";"¯";LIGNE(DECALER(Feuil1!$A$1;0;0;NbMots;1)));".";"¯";LIGNE(DECALER(Feuil1!$A$1;0;0;NbMots;1))) |
ne conserve dans chaque ligne que le mot borné par les "¯" | ListeMots | =GAUCHE(STXT(MarquerMots;TROUVE("¯";MarquerMots)+1;NBCAR(Entrée));TROUVE("¯";STXT(MarquerMots;TROUVE("¯";MarquerMots)+1;NBCAR(Entrée))&"¯")-1) |
Voir le fichier joint
Amicalement
Alain