Bonsoir,
En VBA, est-il possible d'afficher le poids d'un fichier dans la barre d'état avec mise à jour à chaque enregistrement ?
Cdt,
Etorria
Bonsoir,
En VBA, est-il possible d'afficher le poids d'un fichier dans la barre d'état avec mise à jour à chaque enregistrement ?
Cdt,
Etorria
Soir Bon,inutile de multi poster sur différents forums, sinon dans l'aide en ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Application.StatusBar = FileLen(ThisWorkbook.Name) & " Octets"
bonsoir
voila ce que j'ai trouvé :
il faut bien sûr lancer cette procédure après un enregistrement que tu peux contrôler en incluant cette commande dans une procédure Auto_Open() par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Taille() Application.StatusBar = "Taille initiale de ce classeur en octets = " & FileLen(ActiveWorkbook.FullName) End Sub
dans ce cas il faut gérer l'enregistrement dans la procédure Taille() par un code du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Application.CommandBars("Worksheet Menu Bar"). _ Controls("Fichier").Controls("Enregistrer").OnAction = "Taille"
avant l'affichage dans la barre de statuts.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Fichier = ActiveWorkbook.FullName ActiveWorkbook.SaveAs Filename:= Fichier, FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
A plus
Bonjour
Attention qu'il est parfois très gênant pour l'utilisateur que son classeur ait été enregistré à son insu.
Dans le code de Le Pierre, le classeur est enregistré à seules fins de pouvoir en afficher la taille correcte. Si, après, l'utilisateur veut fermer son classeur sans l'enregistrer pour pouvoir le retrouver comme il était à l'ouverture, il va la trouver mauvaise...
Je pense par exemple à un utilisateur qui supprime un (des) onglet(s), puis qui se dit "Oups, j'aurais pas dû". Il ferme sans enregistrer dans l'espoir de retrouver ses onglets et ...
Donc, prudence avec ce genre de code.
bonjour
l'enregistrement ne se fait pas à l'insu de l'utilisateur mais uniquement lorsque celui-ci utilise la commande Fichier / Enregistrer !
Il y a bien une action volontaire de l'utilisateur.
Si toutefois l'utilisateur veut enregistrer sous un autre nom (Enregistrer sous ...) la procédure n'est pas interceptée.
A plus
Bonjour Le Pierre,
Je ne suis pas tout à fait d'accord avec toi.
Le code que tu donnes, à savoir
enregistre le fichier, sans qu'il soit besoin pour l'utilisateur de cliquer sur Fichier/Enregistrer sous..., puisque justement ce code remplace l'action sur le menu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Fichier = ActiveWorkbook.FullName ActiveWorkbook.SaveAs Filename:= Fichier, FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False
Par contre, où je suis d'accord avec toi, c'est que l'utilisateur doit confirmer le remplacement du fichier... Il est donc averti...
Je reste toutefois partisan d'un code qui ne demande pas à brûle-pourpoint un enregistrement de fichier, mais qui afficherait explicitement dans la barre d'état que la taille est celle du fichier lors du dernier enregistrement.
Chacun sa méthode...
Bonne journée
Merci Pierre de tes conseils très intéressant !
Etorria
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager