Fonction sans cesse appellé

Résolu
ph412 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
ph412 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
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
1
ph412 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,
Je pense que c'est tout à fait cela, à l'avenir utiliserai cette astuce.
Merci !
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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?
0
ph412 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0