Bonjour,
J'ai une fonction dans un module VBA d'un fichier qui est censée récupérer l'année à 4 chiffres qui se trouve dans le nom du dit fichier.
PAr exemple, si mon fichier s'appelle "Relevé 2022.xlsm" alors la fonction RenvoieNomFichier donne "2022".
Et pour que ce nombre puisse être traité comme un nombre, je déclare la fonction comme integer
Dans une cellule j'ai écrit la formule
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function RenvoieNomFichier() As Integer ' Sans l'extension (4 derniers caractères) Dim temp As String temp = ThisWorkbook.Name RenvoieNomFichier = Mid(temp, 8, Len(temp) - 12) End Function
Quand je tape la formule et que je la valide j'obtiens bien "Réalisé 2022"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ="Réalisé " & RenvoieNomFichier()
Mais si je quitte la fichier après l'avoir enregistré et que je le rouvre, alors j'obtiens "Réalisé Relevé2022." (avec un point) dans la cellule où se trouve la formule
Si je double-clique sur la cellule et que je valide, alors le résultat correct s'affiche.
Comment faire en sorte que le résultat correct s'affiche dès l'ouverture du fichier ?
Partager