OVH Cloud OVH Cloud

isoler numérateur d'une fonction

13 réponses
Avatar
j-pascal
Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE + 3/17.
Comment puis-je récupérer la valeur du dénominateur dans une autre cellule ?
Merci d'avance pour vos réponses éventuelles.

JP

10 réponses

1 2
Avatar
Daniel
Bonjour.
Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:

Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE + 3/17.
Comment puis-je récupérer la valeur du dénominateur dans une autre cellule
?
Merci d'avance pour vos réponses éventuelles.

JP


Avatar
j-pascal
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:

Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE + 3/17.
Comment puis-je récupérer la valeur du dénominateur dans une autre
cellule ?
Merci d'avance pour vos réponses éventuelles.

JP




Avatar
Daniel
ALT+F11 ouvre la fenêtre de l'éditeur Visual Basic. Clique sur le nom de ton
classeur dans la partie gauche, puis Insertion / Module. Tu copies alors la
fonction dans la partie droite de la fenêtre. C'est tout.
Daniel
"j-pascal" a écrit dans le message de news:
OdM6z$
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de news:

Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE + 3/17.
Comment puis-je récupérer la valeur du dénominateur dans une autre
cellule ?
Merci d'avance pour vos réponses éventuelles.

JP







Avatar
j-pascal
Re,

ALT+F11 ouvre la fenêtre de l'éditeur Visual Basic. Clique sur le nom
de ton classeur dans la partie gauche, puis Insertion / Module.


Je croyais justement qu'il ne fallait pas l'insérer dans ce genre de module;
mais c'est peut-être dans le cas où on veut pouvoir utiliser la fonction
pour tout classeur (?)

copies alors la fonction dans la partie droite de la fenêtre. C'est
tout.


Ok, puis j'ai fait "insérer fonction" / "personnalisée et j'ai bien la
formule sur la feuille, mais le pb c'est que le résultat est évalué ! J'ai
bien ta formule liée à une cellule qui contient 7/17 mais le résultat est
0.636... et je voulais 17 ! J'ai dû rater une étape ;-(

A+ ?

JP

Daniel
"j-pascal" a écrit dans le message de news:
OdM6z$
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de
news:
Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE +
3/17. Comment puis-je récupérer la valeur du dénominateur dans une
autre cellule ?
Merci d'avance pour vos réponses éventuelles.

JP








Avatar
Daniel
Regarde le classeur à l'adresse :
http://cjoint.com/?kyxQ7T0FwV
Daniel
"j-pascal" a écrit dans le message de news:
%
Re,

ALT+F11 ouvre la fenêtre de l'éditeur Visual Basic. Clique sur le nom
de ton classeur dans la partie gauche, puis Insertion / Module.


Je croyais justement qu'il ne fallait pas l'insérer dans ce genre de
module; mais c'est peut-être dans le cas où on veut pouvoir utiliser la
fonction pour tout classeur (?)

copies alors la fonction dans la partie droite de la fenêtre. C'est
tout.


Ok, puis j'ai fait "insérer fonction" / "personnalisée et j'ai bien la
formule sur la feuille, mais le pb c'est que le résultat est évalué ! J'ai
bien ta formule liée à une cellule qui contient 7/17 mais le résultat est
0.636... et je voulais 17 ! J'ai dû rater une étape ;-(

A+ ?

JP

Daniel
"j-pascal" a écrit dans le message de news:
OdM6z$
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de
news:
Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE +
3/17. Comment puis-je récupérer la valeur du dénominateur dans une
autre cellule ?
Merci d'avance pour vos réponses éventuelles.

JP











Avatar
j-pascal
Merci Daniel.

Ce qui est étrange, c'est que ça marche quand tu saisis =7/17 (qui affichera
bien 7/17 si on modifie le format en *fraction*), alors que si j'entre 0
7/17, ma cellule affiche directement 7/17, mais la formule évalue le
résultat ...
Quoiqu'il en soit, c'est bien la réponse à ma question, alors encore merci.

JP

PS : je dois résoudre un petit pb pour un collègue, y-a-t-il un copyright
sur *TA* formule perso ? ;-)

Regarde le classeur à l'adresse :
http://cjoint.com/?kyxQ7T0FwV
Daniel
"j-pascal" a écrit dans le message de news:
%
Re,

ALT+F11 ouvre la fenêtre de l'éditeur Visual Basic. Clique sur le
nom de ton classeur dans la partie gauche, puis Insertion / Module.


Je croyais justement qu'il ne fallait pas l'insérer dans ce genre de
module; mais c'est peut-être dans le cas où on veut pouvoir utiliser
la fonction pour tout classeur (?)

copies alors la fonction dans la partie droite de la fenêtre. C'est
tout.


Ok, puis j'ai fait "insérer fonction" / "personnalisée et j'ai bien
la formule sur la feuille, mais le pb c'est que le résultat est
évalué ! J'ai bien ta formule liée à une cellule qui contient 7/17
mais le résultat est 0.636... et je voulais 17 ! J'ai dû rater une étape
;-(

A+ ?

JP

Daniel
"j-pascal" a écrit dans le message de
news: OdM6z$
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de
news:
Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE +
3/17. Comment puis-je récupérer la valeur du dénominateur dans
une autre cellule ?
Merci d'avance pour vos réponses éventuelles.

JP












Avatar
j-pascal
Re,

Désolé, j'ai trouvé pour mettre plusieurs chiffres avec le *;* je reste
néanmoins surpris par le résultat que donnent *PPCM* et *PGCD* seuls !

JP

Daniel wrote:
Regarde le classeur à l'adresse :
http://cjoint.com/?kyxQ7T0FwV
Daniel
"j-pascal" a écrit dans le message de news:
%
Re,

ALT+F11 ouvre la fenêtre de l'éditeur Visual Basic. Clique sur le
nom de ton classeur dans la partie gauche, puis Insertion / Module.


Je croyais justement qu'il ne fallait pas l'insérer dans ce genre de
module; mais c'est peut-être dans le cas où on veut pouvoir utiliser
la fonction pour tout classeur (?)

copies alors la fonction dans la partie droite de la fenêtre. C'est
tout.


Ok, puis j'ai fait "insérer fonction" / "personnalisée et j'ai bien
la formule sur la feuille, mais le pb c'est que le résultat est
évalué ! J'ai bien ta formule liée à une cellule qui contient 7/17
mais le résultat est 0.636... et je voulais 17 ! J'ai dû rater une étape
;-(

A+ ?

JP

Daniel
"j-pascal" a écrit dans le message de
news: OdM6z$
Bonjour Daniel,

Désolé, je ne sais pas (plus ?) utiliser les fonctions perso !
Il faut les saisir dans un module je crois ?! Mais lequel ?

A+ ?

JP

Une fonction perso ?

Function RecupDenom(c As Range)
RecupDenom = Right(c.Formula, Len(c.Formula) _
- InStr(1, c.Formula, "/"))
End Function

Cordialement.
Daniel
"j-pascal" a écrit dans le message de
news:
Bonjour,

Dans une cellule, j'ai une fonction saisie avec "0" + ESPACE +
3/17. Comment puis-je récupérer la valeur du dénominateur dans
une autre cellule ?
Merci d'avance pour vos réponses éventuelles.

JP












Avatar
Daniel
PS : je dois résoudre un petit pb pour un collègue, y-a-t-il un copyright
sur *TA* formule perso ? ;-)


Non bien sûr, c'est seulement breveté sud-seine-et-marne, à 10 km autour de
Fontainebleau pour une durée de dix minutes ;-))
Daniel

Avatar
Daniel
Désolé, j'ai trouvé pour mettre plusieurs chiffres avec le *;* je reste
néanmoins surpris par le résultat que donnent *PPCM* et *PGCD* seuls !

JP
Euh, je ne comprends pas grand chose à ce que tu dis; est-ce que tu peux

donner des exemples ? La fonction prend la partie de la formule qui est à
droite du dernier "/".
Daniel

Avatar
j-pascal
Re,

Ce que je veux dire, c'est que dans n'importe quelle feuille de calcul, si
je tape :
*=PGCD* ou *=PPCM* sans parenthèses et donc sans rien d'autre à la suite, la
cellule renvoit quand même un résultat ! Est-ce le Uri Geller dont tu
parlais la dernière fois ???

Pour le tuto de mon collègue, il est ici :

http://cjoint.com/?kzxNUgZQJy

En fait, s'agissant de déterminer la fraction dont la valeur est la plus
grande, on peut faire plus simple en évaluant chaque fraction de façon
décimale ... mais je crois qu'il voulait comparer les numérateurs ;-)
J'aurais bien aimer "fusionner" le résultat final (nouveau numérateur) à
partir de toutes les formules intermédiaires, mais à moins de remprendre
chaque sous-calcul, j'ignore s'il y a une façon plus accadémique (je ne suis
pas sûr que cette dernière "question" soit plus limpide que la précédente
;-) )

A+

JP




Daniel wrote:
Désolé, j'ai trouvé pour mettre plusieurs chiffres avec le *;* je
reste néanmoins surpris par le résultat que donnent *PPCM* et *PGCD*
seuls ! JP
Euh, je ne comprends pas grand chose à ce que tu dis; est-ce que tu

peux donner des exemples ? La fonction prend la partie de la formule
qui est à droite du dernier "/".
Daniel



1 2