Enchainer deux formules dans la meme cellule, possible ? [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016
-
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
-
Bonjour,

je souhaiterais enchainer deux fonctions pour une meme cellule, est ce possible ?
si oui par quel biais?
je vous donne l'exemple concret :
dans une suite de cellules (colonne) j'ai :
bifolius R. Br., Prodr. Fl. Nov. Holland.: 322 (1810).
amplexicaulis (F.M.Bailey) Rolfe, Orchid Rev. 11: 344
je voudrais extraire tout ce qui est à droite du premier mot à gauche (ce que j'ai mis en gras)
et
le limiter à ce qui est à gauche de la virgule.
en clair je souhaite extraire le (ou les) noms qui se trouvent à partir de la 2eme position et placés avant la virgule.
j'ai deux formules :
extraire tout ce qui est a droite du premier mot.
=SIERREUR(DROITE(A1;(NBCAR(A1)-(NBCAR(GAUCHE(A1;CHERCHE(" ";A1;1)-1))+1)));"")
et
extraire tout ce qui est a Gauche d'un caractère :
=SIERREUR(GAUCHE(A1;CHERCHE(",";A1)-1);"")

Merci,
Cordialement, YR.
comment faire pour réaliser cette operation en une seule fois ?

3 réponses

Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 830
Bonjour.
ça ressemblerait donc à
=SIERREUR(DROITE(SIERREUR(GAUCHE(A1;CHERCHE(",";A1)-1);"");(NBCAR(SIERREUR(GAUCHE(A1;CHERCHE(",";A1)-1);""))-(NBCAR(GAUCHE(SIERREUR(GAUCHE(A1;CHERCHE(",";A1)-1);"");CHERCHE(" ";SIERREUR(GAUCHE(A1;CHERCHE(",";A1)-1);"");1)-1))+1)));"")
ce qui n'est pas très pratique !
Il vaut mieux le faire en 2 temps (et 2 colonnes) ...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57572 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

Merci Raymond pour ta réponse et pour l'attention que tu as porté a ma demande.
Malheureusement c'est ce que je fais déjà (deux opérations successives et en deux colonnes).
Cordialement,
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 830 >
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

Pourquoi "malheureusement" ?
Je fais couramment cela : utiliser une colonne supplémentaire (ou plusieurs) pour effectuer les calculs intermédiaires !
On peut placer cette colonne de travail loin à droite (hors de la zone d'impression), ou dans une autre feuille ; moi, je me contente de la masquer.
Ce n'est pas honteux du tout. C'est une méthode de travail comme une autre.
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016
>
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020

Oui je suis excessif dans mon vocabulaire, tu as raison, ce que je veux dire c’est que ça m'occasionne des opérations supplémentaires que je cherchais a simplifier, ce qui est le but de ma demande, car effectivement je travaille sur plusieurs colonnes en faisant des étapes intermédiaires.
en parlant d’étapes intermédiaires, as-tu une astuce pour remplacer directement le contenu d'une cellule par sa valeur ? (style touche de raccourci clavier ou autre) car en permanence je suis obligé de :
- sélectionner la colonne,
- puis cliquer sur copier,
- puis coller spécial,
- puis sélectionner "valeurs"
- et enfin valider
ce qui est fastidieux a la longue... pour une seule opération.
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 830
Ceci dit, je me suis concentré sur ta question "comment faire pour réaliser cette operation en une seule fois ?", sans chercher à proposer une autre approche avec d'autres fonctions, comme Vaucluse (que je salue) l'a remarquablement bien fait.
La formule de Vaucluse te donne comme résultats
R. Br.,
et
(F.M.Bailey) Rolfe,
. Si tu ne veux pas la virgule finale, il te suffit de faire une très légère adaptation en écrivant :
=STXT(A1;TROUVE(" ";A1)+1;TROUVE(",";A1)-TROUVE(" ";A1) -1 )
...

Cordialement.
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016
>
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020

Merci, c'est effectivement un petit plus (pour la virgule) qui rend le résultat meilleur.

Cdlt, YR
Messages postés
25213
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
7 août 2020
5 396
Bonjour
si on résume:
tout ce qui est aprés le premier blanc et avant la première virgule:
peut être avec
=STXT(A1;TROUVE(" ";A1)+1;TROUVE(",";A1)-TROUVE(" ";A1))
crdlmnt
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57572 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

Fantastique !
c'est exactement ce dont j'avais rêvé ;-)
Merci Vaucluse pour cette réponse efficace et rapide.

Cordialement,
YR.
Messages postés
25213
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
7 août 2020
5 396 >
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

Ok
alors on passe en résolu
bonne route
crdlmnt
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 830
"une astuce pour remplacer directement le contenu d'une cellule par sa valeur ?"
Non ; ce n'est ni une astuce, ni une formule qui peut faire cela, mais seulement (peut-être) une macro.
Mais pourquoi es-tu obligé de recommencer ta fastidieuse séquence "en permanence" ? Quelque chose m'échappe. Tu as probablement mal analysé ton travail. Explique-nous ce qui, d'après toi, impose de remplacer les formules par les valeurs calculées.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57572 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

Je travaille sur une base de données Botaniques que j'essaie de compléter au maximum.
Cela concerne la famille des orchidées uniquement.
cette base de donnée est sur Filemaker Pro qui est compatible avec Excel.
Donc je récupère tous les enregistrements d'orchidées (quelles soient hybrides ou naturelles). c'est souvent présenté ainsi, en une seule ligne :
Nom du Genre + nom de l’espèce + nom Botaniste qui l'a décrite + registre dans lequel elle est inscrite + date de la description (découverte).
soit :
-Cattleya brevicaulis (H.G.Jones) Van den Berg, Neodiversity 3: 5 (2008).
-Cattleya brevipedunculata (Cogn.) Van den Berg, Neodiversity 3: 5 (2008).
-Cattleya briegeri (Blumensch. ex Pabst) Van den Berg, Neodiversity 3: 5 (2008).
Donc j'introduis ces enregistrement dans Excel qui me sert de filtre, en séparant chaque élément par une formule appropriée.
Une fois ces éléments séparés je n'ai plus qu'a faire une injection de ces données dans Filemaker.
donc lorsque je sépare ces éléments par une formule, chaque cellule contient une formule et moi je la remplace par sa valeur.
ce n'est surement pas la meilleur façon mais c'est la seule que j'ai pu me créer vu mes connaissances sommaires en Excel.(hélas)
;))
Messages postés
52050
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 août 2020
13 830 >
Messages postés
6
Date d'inscription
samedi 26 novembre 2016
Statut
Membre
Dernière intervention
26 novembre 2016

"chaque cellule contient une formule et moi je la remplace par sa valeur"
C'est justement cela qui m'intrigue !
As-tu essayé d'injecter dans Filemaker (que je ne connais pas) le contenu des cellules sans les transformer en valeurs ?
Messages postés
25213
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
7 août 2020
5 396
Le problème ici n'est pas tout à fait celui décrit dans le premier message, car le nom en tête comporte un blanc qui parasite la formule
vous savez sans doute que vous pouvez régler la positon du TROUVE en utilisant le code SUBSTITUE et un signe inexistant dans la phrase:
exemple pour démarrer le texte du second blanc:

Pour s'aligner sur le second blanc, la formule deviendrait par exemple:
=STXT(A1;TROUVE("?";SUBSTITUE(A1;" ";"?";2))+1;TROUVE(",";A1)-TROUVE(" ";A1))

le code SUBSTITUE remplace le 2° blanc " " par le point d'interrogation
si vous placez ....;3)) ce sera le 3° ect....

et bien sur vous pouvez faire ça avec des parenthèses ou autre

Bon courage

crdlmnt