VBA / formule crée / #NOM?

Résolu
alex -  
 alex -
Bonjour,


Je viens de créer une formule simple sur VBA qui consiste à récupérer le nom de mon fichier:


Function NAMEFILE() 
    NAMEFILE = ActiveWorkbook.Name 
End Function



Elle marche lorsque je viens de la créer. Si je change le nom de mon fichier et que je l'ouvre, la formule ne se recalcule pas automatiquement, je dois activer manuellement la cellule qui contient ma formule NAMEFILE() pour que la valeur soit changée.


Si j'enregistre, je change à nouveau le nom du fichier et si je l'ouvre à nouveau, là, j'ai #NOM? qui apparaît comme résultat.


Pourquoi?


Comment modifier mon code pour que la fonction marche tout le temps et pour qu'elle puisse se recalculer automatiquement?


Merci pour votre aide


Alex


A voir également:

5 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
Essaye ça

Function NAMEFILE()
Application.volatile
NAMEFILE = ActiveWorkbook.Name
End Function
1
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
Essaye ça!

Function NAMEFILE()
Application.Volatile
NAMEFILE = ActiveWorkbook.Name
End Function

en appuyant sur "F9" tu fais un rafraîchissement des calculs
1
Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
Oui et non!
si une fonction est crée et qu'elle est utilisée dans un module ou un appel par vba
alors pas de problème.

mais si la fonction est utilisée sur une feuille alors oui il faut cette instruction pour que l'instruction soit recalculée.
A+
1
alex
 
Super!

ça marche!
Merci beaucoup.

Mais pourquoi Excel ne recalcule pas automatiquement les fonctions créées? On doit mettre "Application.Volatile" pour chaque fonction créée?

Alex
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alex
 
OK merci!
0