Bonjour,
j'utilise une formule que j'ai créée sous excel 2000.
Je suis passé il y a quelques jours sous excel 2007, mais excel n'arrive plus a évaluer ma formule...
Y a-t-il une manipulation à effectuer?
Merci d'avance,
à bientôt,
Julien.
Bonjour,
j'utilise une formule que j'ai créée sous excel 2000.
Je suis passé il y a quelques jours sous excel 2007, mais excel n'arrive plus a évaluer ma formule...
Y a-t-il une manipulation à effectuer?
Merci d'avance,
à bientôt,
Julien.
Difficile de te répondre si tu ne nous dis pas ce qu'est ta formule...
J'en viens à la question suivante: pourrais-tu nous en dire plus?
Oui pardon... En fait j'espérais que, peut être, ce problème évoquerait instantanément quelque chose à quelqu'un.
Bon donc voici mon module VBA:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Function TauxPrime(Objectif, Realise, BorneInf, BorneInter1, BorneInter2, BorneInter3, BorneSup) Dim Reussite Reussite = Realise / Objectif If Reussite < BorneInf Then TauxPrime = 0 ElseIf Reussite >= BorneInf And Reussite < BorneInter1 Then TauxPrime = Reussite ElseIf Reussite >= BorneInter1 And Reussite < BorneInter2 Then TauxPrime = 1.8 * Reussite - 0.1 ElseIf Reussite >= BorneInter2 And Reussite < BorneInter3 Then TauxPrime = 2.7 * Reussite - 0.3 ElseIf Reussite >= BorneInter3 And Reussite < BorneSup Then TauxPrime = 3.5 * Reussite - 0.6 Else: TauxPrime = 3.5 * BorneSup - 0.6 End If End Function Function Prime(Objectif, Realise, Enveloppe, BorneInf, BorneInter1, BorneInter2, BorneInter3, BorneSup) ' BorneInf Taux de réussite à partir duquel le taux de prime est supérieur à 0 ' BorneInter1 Taux de réussite du super objectif 1 ' BorneInter2 Taux de réussite du super objectif 2 ' BorneInter3 Taux de réussite du super objectif 3 ' BorneSup Taux de reussite à partir duquel le taux de prime est fixe Prime = TauxPrime(Objectif, Realise, BorneInf, BorneInter1, BorneInter2, BorneInter3, BorneSup) * Enveloppe End Function
J'appelle ensuite cette fonction comme ceci:
=prime(B40;C40;Q22;$B$7;$C$7;$D$7;$E$7;$F$7).
A noter que quand j'essaie d'afficher les étapes du calcul, c'est bien la fonction "prime" en elle-même qu'excel n'arrive pas à évaluer, alors que en Excel2000 il y arrive...
Merci d'avance pour votre aide,
Julien.
Tu devrais préciser correctement le type de tes arguments dans l'en-tête de tes fonctions: il se peut que tu aies des problèmes de type.
Fais aussi bien attention à ce que tu manipules, qu'il s'agisse bien d'un simple nombre: il se peut que Excel 2007 ne transmette pas les arguments de la même manière qu'Excel 2000 et envoie à VBA des chaînes de caractère ("B7" par exemple) au lieu de nombres.
Merci pour ta réponse, mais il me semble vraiment que c'est excel qui ne va pas chercher 'prime" dans le module VBA... en effet lorsque j'affiche les étapes du calcul, excel m'annonce qu'il n'arrive pas à évaluerla fonction, et l'erreur affichée est d'ailleurs: #NOM?, alors que je caste maintenant les variables...
Personne n'a d'idée???
J'ai vraiment un gros problème....
SVP
J'ai vérifié, en réouvrant le fichier sous excel 2000, après l'avoir réenregistré dans le bon format, ça refontionne.
Peut etre un problème d'accessibilité des macros?
Quelqu'un saurait-il comment vérifier?
Du nouveau: en fait, excel m'annonce à l'ouverture (mais uniquement à l'ouverture):
Comment les activer (les macros), alors que j'ai un antivirus installé (symantec endpoint protection)
Merci d'avance,
Julien.
Bonjour
En revenant a ce que te dit decondelite
Dans les arguments de ta fonction, il faut donner le type de données.
Ta fonction renvoie une valeur, mas tu n'as pas indiqué quel est le type de celle-ci.
Pour tout cela, je t'invite à lire cet article : Les fonctions personnelles dans Excel pour voir comment formuler correctement ta fonction.
De plus qu'en est-il au niveau de la sécurité sur ton Excel 2007.
Philippe
Bonjour Philippe,
merci pour ta réponse.
Concernant le type de variable, j'ai fait ce que m'avait dit Condelite (je croyais vous l'avoir dit pardon).
Par contre, en lisant le tuto sur lequel tu m'as renvoyé, j'ai vu la phrase suivante:
Remarque importante:
Les fonctions personnelles ne sont pas disponibles lorsque les macros sont désactivées. Dans ce cas, la formule renvoie la valeur d'erreur #NOM?.
C'est justement ce qu'il se passe pour moi, et l'annonce est celle de mon message précédent (j'ai mis la fenetre excel).
Mais je peux par contre utiliser les macros de mon classeur personnel.
Etrange non? Et comment forcer l'activetion des macros présentes dans ce fichier?
Merci d'avance,
Julien.
Re
Pour les macros sous Excel 2007, tu vas dans l'onglet développeur, et là tu as une icône Sécurité des macros avec l'icône Warning, tu cliques et cela ouvre une fenêtre avec plusieurs choix.
Philippe
Merci encore Philippe.
Par contre, je viens de faire ce que tu m'as dit, mais le choix:
Toutes les macros sont activées (non recommandé) etc etc...
est déjà coché.
Comment excel peut il donc décider de malgré tout me bloquer une macro?
Merci toujours,
Julien.
Partager