XL 2013 fonction cellule("filename"...

rafi93

XLDnaute Occasionnel
bonjour à tous

j'utilise la formule =STXT(CELLULE("filename";A2);TROUVE("[";CELLULE("filename";A2))+1;11)

qui ramène bien les 11 1ers caractères du nom du fichier, sans le chemin.

le problème est que quand je fais "enregistrer sous" et que je donne un nouveau nom pour le fichier en cours, la formule ne se met pas à jour; il faut que je rentre dans la cellule et que je fasse "entrée" pour qu'elle prenne la bonne valeur.
pourquoi ?
y a t il un moyen de faire que la mise à jour soit "automatique" lors de l'enregistrement du nouveau nom de fichier?

merci !!
 

rafi93

XLDnaute Occasionnel
Re : fonction cellule("filename"...

oui je sais

mais c'est pas très naturel, car toutes les autres cellules (sauf celle là...!) se recalculent automatiquement

et ce que je veux éviter est d'oublier de le faire avant d'imprimer le document (il s'agit de factures !)

pourquoi cela ne se fait pas automatiquement ?
 

Roland_M

XLDnaute Barbatruc
Re : fonction cellule("filename"...

re

on aurait pu se sevir dans le Thisworkbook de la fonction Calculate (idem F9)
il existe bien:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate
End Sub
'mais pas After sinon ceci fonctionnerait !
Private Sub Workbook_AfterSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate
End Sub
 

rafi93

XLDnaute Occasionnel
Re : fonction cellule("filename"...

ok merci

donc pas d'autre solution que de passer par l'écriture d'une macro ?

PS: en fait, je viens de constater qu'il suffit de rentrer puis valider dans n'importe quelle cellule de la feuille pour celle contenant =cellule("filename...) se mette a jour ! bizarre non ?
 

Roland_M

XLDnaute Barbatruc
Re : fonction cellule("filename"...

re

mais non c'est pas bizarre mais normal ! F9 remplace l'édition de toutes les cellules !
il faut comprendre le rafraîchissement des données !

on peut faire une macro pour y mettre la fonction Calculate
mais bon c'est tout de même plus simple de taper F9 , non !?
si tu as peur d'oublier F9 tu oublieras le bouton macro !


la seule chose valable que je te propose pour ton cas c'est une macro pour tout faire !
enregistrer sous et une fois enregistré l'exécution de la fonction Calculate !
 

Roland_M

XLDnaute Barbatruc
Re : fonction cellule("filename"...

re

voir avec ce modèle Classeur1
tu clic sur le bouton pour enregistrer sous
tu mets par exemple Classeur2
et tu verras le résultat !

tu me dis si ça te convient !?

EDIT: petite correction concernant ceci:
Application.DisplayAlerts = False 'ceci si tu ne veux pas du message remplacer si existe !? à toi de voir !?
 

Pièces jointes

  • Classeur1.xlsm
    16.7 KB · Affichages: 52
  • Classeur1.xlsm
    16.7 KB · Affichages: 56
Dernière édition:

Discussions similaires

Réponses
11
Affichages
360

Statistiques des forums

Discussions
312 845
Messages
2 092 768
Membres
105 529
dernier inscrit
StarExcel