OVH Cloud OVH Cloud

fonction personnalisée

6 réponses
Avatar
AB
Bonjour à tous
Désolé si ma question semble triviale, mais je n'ai pas trouvé comment
faire.
Je souhaite créer une fonction personnalisée qui me demande 3 nombres
(a,b,c), et me renvoie un résultat en éxécutant un calcul tout bête : CR =
0.5*a + 15*b + 3/5*c
Les 3 nombres a, b, c étant dans des cellules de ma feuille, je voudrais les
entrer en cliquant dessus (comme avec l'assistant des fonctions intégrées).
Sûrement possible, mais comment ?
André

6 réponses

Avatar
Denis
Bonjour,
dans Module1
Function CR(a As Variant, b As Variant, c As Variant) As
Variant
CR = 0.5 * a + 15 * b + 3 / 5 * c
End Function
C'est devenu une fonction personnalisée

Denis

-----Message d'origine-----
Bonjour à tous
Désolé si ma question semble triviale, mais je n'ai pas
trouvé comment

faire.
Je souhaite créer une fonction personnalisée qui me
demande 3 nombres

(a,b,c), et me renvoie un résultat en éxécutant un calcul
tout bête : CR =

0.5*a + 15*b + 3/5*c
Les 3 nombres a, b, c étant dans des cellules de ma
feuille, je voudrais les

entrer en cliquant dessus (comme avec l'assistant des
fonctions intégrées).

Sûrement possible, mais comment ?
André


.



Avatar
poy-poy
Bonjour AB,

Est tu sur qu'il ne serait pas possible de choisir 3 cellules qui serait
toujours l'adresse à aller chercher ?(par exemple on va chercher a en A1, b
en B1 et C en C1 systématiquement). On change alors uniquement l'adresse mise
en A1, B1 et C1.
Exemple concret :
A1 = D17
B1 = C25
C1 = E3
Attention, ecris bien D17 et non = D17: Il faut l'adresse dans la cellule.

le formule est alors :
=0.5*indirect(A1)+15*indirect(B1)+3/5*indirect(C1)
la formule calcul alors 0.5*D17+...Tu changes juste A1, B1 et C1 pour avoir
un autre résultat

Si cela ne convient pas, dis le moi, j'essaierais de te faire une fonction vba

Codialement
Benjamin



Bonjour à tous
Désolé si ma question semble triviale, mais je n'ai pas trouvé comment
faire.
Je souhaite créer une fonction personnalisée qui me demande 3 nombres
(a,b,c), et me renvoie un résultat en éxécutant un calcul tout bête : CR =
0.5*a + 15*b + 3/5*c
Les 3 nombres a, b, c étant dans des cellules de ma feuille, je voudrais les
entrer en cliquant dessus (comme avec l'assistant des fonctions intégrées).
Sûrement possible, mais comment ?
André





Avatar
papou
Bonjour
Tu définis a, b et c en tant que Range et tu pourras dès lors aller chercher
les valeurs des cellules a,b et c dans ta fonction.

Function CR(a As Range, b As Range, c As Range)
CR = 0.5 * a + 15 * b + 3 / 5 * c
End Function

Cordialement
Pascal

"AB" a écrit dans le message de
news:%
Bonjour à tous
Désolé si ma question semble triviale, mais je n'ai pas trouvé comment
faire.
Je souhaite créer une fonction personnalisée qui me demande 3 nombres
(a,b,c), et me renvoie un résultat en éxécutant un calcul tout bête : CR > 0.5*a + 15*b + 3/5*c
Les 3 nombres a, b, c étant dans des cellules de ma feuille, je voudrais
les

entrer en cliquant dessus (comme avec l'assistant des fonctions
intégrées).

Sûrement possible, mais comment ?
André




Avatar
AV
Function CR(a , b , c )
CR = 0.5 * a + 15 * b + 3 / 5 * c
End Function

Devrait suffire
AV
Avatar
AB
Merci à tous,
Ca marche parfaitement, et ça va me faire gagner beaucoup de temps !
J'ai essayé avec Variant et Range. Ca marche dans les deux cas. L'intérêt de
Variant, c'est qu'on peut mettre une formule comme variable, alors qu'avec
Range, si j'ai bien compris il faut mettre obligatoirement une valeur.
Sinon, celle d'Alain marche en effet parfaitement, avec formules ou valeurs
Merci encore à vous 4 !
André

"AV" a écrit dans le message de news:

Function CR(a , b , c )
CR = 0.5 * a + 15 * b + 3 / 5 * c
End Function

Devrait suffire
AV




Avatar
Philippe.R
Bonsoir Alain,
Sinon, celle d'Alain marche en effet parfaitement, avec formules ou valeurs
Ce qui s'explique par le fait que pour Excel, toute variable non déclarée est, par défaut, de type

variant.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
"AV" a écrit dans le message de news:

Function CR(a , b , c )
CR = 0.5 * a + 15 * b + 3 / 5 * c
End Function

Devrait suffire
AV