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

5 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Essaye ça

    Function NAMEFILE()
    Application.volatile
    NAMEFILE = ActiveWorkbook.Name
    End Function
    1
  2. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Essaye ça!

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

    en appuyant sur "F9" tu fais un rafraîchissement des calculs
    1
  3. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question