Correction de macro fonction

Résolu
nihcoc Messages postés 194 Statut Membre -  
 nihcoc -
Bonjour,
Je cherche a créer une fonction qui donne la clé du N° de sécu,mais je n'y arrive pas.c'est juste dans un but de comprendre.
quelqu'un pourrait-il me corriger la fonction (je travaille avec excel 95)


Fonction Clé_Sécu(N°_Sécu) En Entier
Clé_Sécu = 97 - (N°_Sécu - 97 * Application.ENT(N°_Sécu / 97))
Fin Fonction
en fait j'ai repris les arguments de la formule qui suit et qui marche.
'=97-(A5-97*ENT(A5/97))dans la formule A5 étant le N° sécu

Merci d'avance



1 réponse

eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

à mettre dans un module Standard :
Function Clé_Sécu(N°_Sécu) As Long
    '=97-(A5-97*ENT(A5/97))
    Clé_Sécu = 97 - (N°_Sécu - 97 * Int(N°_Sécu / 97))
End Function

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
nihcoc
 
Bonjour eriiic
merci pour ton travail.
en fait la fonction plante a cause de la fonction "INT" excel la met en surlignage.
j'ai essayé cet autre macro mais excel me renvoie "#VALEUR!"

Fonction Clef_Sécu(N°_Sécu) En Long
Clef_Sécu = 97 - (N°_Sécu - 97 * Application.ENT(N°_Sécu / 97))
Fin Fonction
merci
0
nihcoc
 
Bonjour eriiic
j'ai trouvé le pourquoi du plantage,c'est dans la traduction de la fonction "INT",qui dans ce cas ce traduit en français par "ValEntière" au lieu de "ENT".
Merci quand même
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

Tu es sûr que tu es sur excel en vba ?
Les fonctions en vba sont toujours en anglais.
eric
0
nihcoc
 
bonjour
le vba pour excel était en anglais,jusqu'a excel 95.
raison pour laquelle je suis resté a cette version.
l'anglais c'est pas mon truc.

merci pou tout
0