reconnaitre un mot dans une ligne

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: martial.x@laposte.net
Sujet:: reconnaitre un mot dans une ligne
OS:: Windows 10
Version:: 6.0.x
Question:: bonjour
pour remplir une colonne en fonction des mots trouvés dans une autre colonne
par exemple reconnaitre "trésor" et noter "impot" dans la colonne a droite ceci pour une colonne de zéro a 55 et pour une liste de mot placer dans une page indexée
je le faisais jusqu'a maintenant avec ce systeme . SI(NB.SI(codes!c$1:c$25;c4)=0;"";INDEX(codes!a$1:a$25;EQUIV(c4;codes!c$1:c$25;0)))
cela marche bien avec un chiffre fixe !! est il possible d'arriver au meme resultat en reconnaissant un mot dans une ligne??
j'utilisai cette formule sans vraiment comprendre tout je précise :))
merci aux genereux aideurs

Bonjour,

Si vous partez d'une liste à deux entrées (deux colonnes) pour fixer la correspondance des termes, vous pouvez la trier, puis l'utiliser par une fonction de type RECHERCHEV() par exemple. C'est peut-être plus efficace ? En tout cas ça vous permet une recherche textuelle.

Thierry

Bonjour,

Sujet:: reconnaitre un mot dans une ligne
OS:: Windows 10
Version:: 6.0.x
Question:: bonjour
pour remplir une colonne en fonction des mots trouvés dans une autre colonne
par exemple reconnaitre "trésor" et noter "impot" dans la colonne a droite ceci pour une colonne de zéro a 55 et pour une liste de mot placer dans une page indexée
je le faisais jusqu'a maintenant avec ce systeme . SI(NB.SI(codes!c$1:c$25;c4)=0;"";INDEX(codes!a$1:a$25;EQUIV(c4;codes!c$1:c$25;0)))
cela marche bien avec un chiffre fixe !! est il possible d'arriver au meme resultat en reconnaissant un mot dans une ligne??

Tout cela n'est pas très clair. Pourriez-vous expliquer davantage ?

De manière générale, la fonction CHERCHE() rend bien des services,
d'autant qu'elle peut se combiner avec l'emploi des expressions régulières.

Ce n'est aps de cherche() dont on aprle (qui est trés puissante c'est
vrai...) mais de RechercheV (pour verticale)
La fonction Recherchev est plus simple à utiliser qu'un index equiv, mais il
n'est pas certain que ça fonctionne bien dans ton cas.

Si tu recherches le terme "thierry" et que tu veux toujours y renvoyer le
terme "impots" dans une colonne à droite, tu peux

établir une liste de correspondance (dans une autre feuille) : dans la
première colonne le terme que tu cherches, dans la 2e colonne, celui que tu
veux renvoyer quand on le trouve (tu peux mettre autant de colonne entre les
deux ou après...)
ainsi tu aurais :
pathé; ciné
trésor; impots
(ce qui pourrait déjà bien être ta table indexée)

et ainsi de suite...

Dans ton tableau "principal", tu sélectionnes la colonne où tu recherches
les termes pierre, trésor... et tu utilises un recherchev (que tu peux
mettre dans un si au besoin !)
pour la première ligne de valeur, premier agument, la cellule où tu pourrais
retrouver "trésor",
2e argument, la référence de ta "table de référence", 3e argument, le numero
de la colonne à "reporter" dans ta table de référence. Dans notre exemple,
c'est la 2e colonne dans laquelle figure "ciné", "impots"...
Le dernier argument est plus sioux :
Vrai =1 pour faire une recherche par valeur approchée
Faux = 0 pour faire une recherche sur une table ordonnée et par valeur
exacte.

C'est trés puissant pour faire des "merge", rajouter les libellés dans une
base de données (un extrait !) qui n'a que des codes...

Le cherche va travailler sur des extraits d'une chaine de caractère... et te
renvoyer une position, le recherchev, cherche un contenu complet de cellule,
et te renvoit une correspondance définie à l'avance. Ce qui ressemble
fortement à ton index equiv.

L'index equiv consomme plus en ressources...

Le recherche v ne fonctionnera que si ta condition ne peut être posée
qu'avec une seule colonne. S'il faut que tu croises, 2 colonnes pour obtenir
la ligne unique qui t'intéresse, il faut un sommeprod (et tu te rapproches
de l'index equiv)
Exemple de cas pour le someprod : une liste de produits, déclinés en
différentes couleurs. la couleur peut être commune à plusieurs produits, il
te faut donc retrouver les deux conditions (couleur&produit), le sommeprod
va alors "filtrer" la table de référence et la table de calcul selon ces
deux critères, pour renvoyer dans ton calcul la bonne valeur (le stock, le
prix....)

Pour que les réponses soient plus concrètes, il vaudrait mieux tu joignes un
exemple de données (en plus de ta formule)
https://help.libreoffice.org/Calc/Text_Functions/fr#CHERCHE (est une
fonction texte)
https://help.libreoffice.org/Calc/Spreadsheet_Functions/fr#RECHERCHE et
https://help.libreoffice.org/Calc/Spreadsheet_Functions/fr#RECHERCHEV (sont
des fonctions "classeurs")
https://help.libreoffice.org/Calc/Array_Functions/fr#SOMMEPROD (est une
fonction "matrice")

Claire