Erreur de compilation dans edition de macro

  • Initiateur de la discussion Initiateur de la discussion Rapheux
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Rapheux

Guest
Bonjour tout le monde,

Je ne comprend pas pourquoi il y a une erreur de compilation avec :

Function Nosemaine(jour as range) as long
Nosemaine = ENT(MOD(ENT((jour.value-2)/7)+0,6;52+5/28))+1
End function

alors que la même formule dans la barre de formule fonctionne bien !

Merci d'avance pour vos réponses.

Cordialement,
Rapheux
 
Re : Erreur de compilation dans edition de macro

Bonjour Rapheux,

Les fonctions VBA ne sont pas celles des feuilles de calcul ! Essayer :

Code:
Function Nosemaine(jour As Range) As Long
Nosemaine = Int((Int((jour.Value - 2) / 7) + 0.6) Mod (52 + 5 / 28)) + 1
End Function

Par ailleurs, il arrive que Int() crée des problèmes sur les nombres décimaux, peut-être faut-il utiliser CDec :

Code:
Nosemaine = Int(CDec((Int(CDec((jour.Value - 2) / 7)) + 0.6) Mod (52 + 5 / 28))) + 1

Edit : la fonction VBA ne renvoie pas la bonne valeur, je cherche pourquoi.

A+
 
Dernière édition:
Re : Erreur de compilation dans edition de macro

Re,

La fonction Mod en VBA ne donne pas le résultat espéré.

Alors on va simplement adapter en VBA la formule de la feuille de calcul :

Code:
Function Nosemaine(jour As Range) As Byte
Nosemaine = Evaluate("INT(MOD(INT((" & CDbl(jour) & "-2)/7)+0.6,52+5/28))+1")
End Function

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
994
Retour