Une formule qui ne s'exécute pas automatiquement

  • Initiateur de la discussion Initiateur de la discussion El Toto
  • 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 !

E

El Toto

Guest
Bonjour à tous,

J'ai écrit une macro qui me permet de récupérer le nom des feuilles actives d'un classeur. (voir fichier joint)

Cette fonction est utilisée directement en tant que formule dans la feuille n°1. Cependant, lorsque je rajoutte une feuille, celle ci n'apparaît pas tout de suite. On dirait que la fonction n'est pas systématiquement appelée. Il faut que je clique sur la formule, comme si je voulais la modifier pour faire la maj.

Si quelqu'un voit une solution pour que la mise au jour se fasse automatiquement, je le remercie d'avance.

A bientôt.
 

Pièces jointes

En effet Ti, je n'avais pas rajoutée cette ligne de code.

Je viens donc de la rajouter.
Ma fonction devient donc:
Public Function NomFeuille(Index As Integer) As String
Application.Volatile
NomFeuille = Worksheets(Index).Name
End Function

Cependant, lors de l'ajout d'une feuille dans le classeur (Menu Insertion > Feuille) il n'y a pas de calcul dans la feuille qui contient l'appel de ma fonction.
Il n'y a donc pas de mise à jour.

Mais, cela fonctionne quand même mieux qu'avant. Il doit y avoir autre chose...
 
Bonjour
Cela ne mettra à jour la feuille où se trouve la fonction que si tu effectues une manip dans cette feuille.
C'est le principe du calcul : n'est calculée que la feuille active et seulement en cas de recalcul.
Exemple si tu mets l'heure courante dans une cellule : elle ne se met à jour que si tu fais quelque chose dans la feuille.
Si tu veux un affichage indépendant du calcul, il faut non pas une fonction mais une procédure événementielle.
Chris
 
Bonjour El Toto, Minick, Ti, Chris,

Je ne sais pas si ça peut t'aider mais : Application.Calculate force le recalcul d'une feuille.
Par contre je ne sais pas trop sur quel évènement le placer. Mais si ça peut t'aider.

Bon courage.

José
 
En effet,
je viens d'ajouter Application.calculate dans la procédure évènementielle de la feuille 1 : Worksheet_Activate.
Et maintenant dès que je passe dans la feuille 1, la mise à jour est automatique.

Merci à Tous.
 
- 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
4
Affichages
131
  • Question Question
Microsoft 365 Formule Outlook,
Réponses
8
Affichages
188
Retour