Signaler

Fonction sans cesse appellé [Résolu]

Posez votre question ph412 40Messages postés mercredi 10 décembre 2014Date d'inscription 4 mai 2017 Dernière intervention - Dernière réponse le 13 févr. 2017 à 10:07 par ph412
Bonjour,

J'ai crée une fonction toute simple qui fonctionne.
Le problème c'est que cette fonction est appelé (entre 5 et 6 fois) sans aucune raison.
En mode débogage cela me fait perdre beaucoup de temps.

Mon module :
        Sheet1.Range("A11") = mois(Now)
Sheet1.Range("A12") = 1


La fonction est appelé également sur cette ligne ( ce qui est incompréhensible ! )
 Sheet1.Range("A12") = 1


la fonction
Function mois(Madate)

Madate = Month(Madate)
If Madate = 1 Then
mois = "Jan"
ElseIf Madate = 2 Then
mois = "Fev"

ElseIf Madate = 3 Then
mois = "Mars"
ElseIf Madate = 4 Then
mois = "Avr"
ElseIf Madate = 5 Then
mois = "Mai"
ElseIf Madate = 6 Then
mois = "Juin"
ElseIf Madate = 7 Then
mois = "Jui"
ElseIf Madate = 8 Then
mois = "Aou"
ElseIf Madate = 9 Then
mois = "Sep"
ElseIf Madate = 10 Then
mois = "Oct"
ElseIf Madate = 11 Then
mois = "Nov"
ElseIf Madate = 12 Then
mois = "Dec"
End If
End Function


Je souhaite appeler la fonction uniquement lorsque je l'appelle par son nom !!!
Quelqu'un à une explication ?
Merci par avance
Utile
+1
plus moins
Bonjour
A chaque modification du contenu d'une cellule, Excel refait les calculs, c'est le calcul automatique. Les fonctions personnalisées sont moins performantes en rapidité d'exécution que les fonctions Excel existantes.
Vous pouvez ajouter en début de la fonction un test qui vérifie si c'est bien la cellule concernée sur laquelle s'applique la fonction, si ce n'est pas le cas "exit function".
Maintenant, pourquoi vouloir créer une fonction qui existe déjà.
Utilisez celle-ci: =TEXTE(A1;"mmm"), avec la date en A1

Cdlt
Cette réponse vous a-t-elle aidé ?  
ph412 40Messages postés mercredi 10 décembre 2014Date d'inscription 4 mai 2017 Dernière intervention - 13 févr. 2017 à 10:05
Salut,
Je pense que c'est tout à fait cela, à l'avenir utiliserai cette astuce.
Merci !
Répondre
Donnez votre avis
Utile
+0
plus moins
bonjour, cette fonction est appelée exclusivement à cette ligne de ton module, elle n'est pas présente dans une cellule?
peux-tu donner un vue plus large du contenu de ton module?
ph412 40Messages postés mercredi 10 décembre 2014Date d'inscription 4 mai 2017 Dernière intervention - 13 févr. 2017 à 10:07
Je crois qu'elle est appelé à chaque inscription sur al feuille.Je pense que Frenchie83 à raison, elle sera sans cesse appeler alors autant mettre un exit sub le plus tot possible dans la fonction.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !