[Résolu] Chaque mot d’un texte dans une cellule différente

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 14:57

[Résolu] Chaque mot d’un texte dans une cellule différente

Message par Herve30 »

Bonjour,
Pour mettre chaque mot d’un texte dans une cellule différente j’utilise cette formule:
=SI(COLONNE()=2;SI($A1="";"";SI(NBCAR($A1)-NBCAR(SUBSTITUE($A1;" ";""))="";$A1;GAUCHE($A1;TROUVE(" ";$A1;2))));SI(NBCAR($A1)-NBCAR(SUBSTITUE($A1;" ";""))<COLONNE()-2;"";STXT($A1;TROUVE("µ";SUBSTITUE($A1&" ";" ";"µ";COLONNE()-2);1)+1;TROUVE("µ";SUBSTITUE($A1&" ";" ";"µ";COLONNE()-1);1)-TROUVE("µ";SUBSTITUE($A1;" ";"µ";COLONNE()-2);1)-1)))
Exp: si dans A1 le texte "il fait beau" , mettre il dans B1, fait en C1, beau en D1

Mais impossible de la faire fonctionner lorsque je copie la formule dans une autre cellule soit:
- le texte en AA1 et la formule en AB1 puis étirer Horizontalement et verticalement pour afficher les résultats dans les autres cellules.
J'ai remplacé "A1" par "AA1" dans la formule mais cela ne fonctionne pas ....
Qu'est ce que je dois modifier dans cette formule SVP ?
Merci d'avance
Cordialement
Dernière modification par micmac le 21 oct. 2019 18:00, modifié 1 fois.
Raison : Balisage
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Chaque mot d’un texte dans une cellule différente

Message par OOotremer971 »

Bonjour,

Dans ta formule il y a utilisation de la fonction COLONNE(). Elle est sensée retourner une valeur numérique égale à 2 lorsque la formule se trouve en colonne B et s'incrémenter automatiquement de 1 lorsque la formule est étiré vers la droite.

Le fait que tu démarre en AA1, la valeur numérique retournée n'est pas 2 mais 27 et ainsi de suite pour le reste. En l’absence du contexte, essaye en remplaçant COLONNE() par COLONNE(B1) :

Code : Tout sélectionner

=SI(COLONNE(B1)=2;SI($AA1="";"";SI(NBCAR($AA1)-NBCAR(SUBSTITUE($AA1;" ";""))="";$AA1;GAUCHE($AA1;TROUVE(" ";$AA1;2))));SI(NBCAR($AA1)-NBCAR(SUBSTITUE($AA1;" ";""))<COLONNE(B2)-2;"";STXT($AA1;TROUVE("µ";SUBSTITUE($AA1&" ";" ";"µ";COLONNE(B2)-2);1)+1;TROUVE("µ";SUBSTITUE($AA1&" ";" ";"µ";COLONNE(B2)-1);1)-TROUVE("µ";SUBSTITUE($AA1;" ";"µ";COLONNE()-2);1)-1)))
Et si ça ne fonctionne toujours pas, merci de joindre un fichier exemple.

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Chaque mot d’un texte dans une cellule différente

Message par Dude »

Salut,

Pas besoin de formule, il suffit d'utiliser l'assistant Texte en colonnes.
Et régler le séparateur sur l'espace.
Herve30
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 26 févr. 2019 14:57

Re: Chaque mot d’un texte dans une cellule différente

Message par Herve30 »

Merci OOotremer971, la formule fonctionne NICKEL !!!
Je connais le fonction Texte en Colonnes mais elle ne me convient pas dans le classeur sur lequel je travaille,

Merci encore à vous deux ! :super:
Cordialement
AOO 4.1.10
OS X EL Capitan 10.11.6
Libre Office version 7.1.5.2