Barre de progression pendant sauvegarde

Bonsoir à tous,

Me voici pour un nouveau post à la recherche de vos conseils avisés...

L'enregistrement de mon classeur étant un peu long, j'aurai voulu faire apparaitre une progressbar le temps qu'il s'enregistre.

Avez vous une solution?

Merci d'avance,

Simon

Salut le forum

On peut utiliser la StatusBar qui a, par défaut, cette barre de progression. Peut être cela te conviendra t'il ?

Sub Enregistrement()
oldDisplayStatusBar = Application.DisplayStatusBar
oldStatusbar = Application.StatusBar
Application.StatusBar = False
Application.DisplayStatusBar = True
ActiveWorkbook.Save
Application.StatusBar = oldStatusbar
Application.DisplayStatusBar = oldDisplayStatusBar
End Sub 

Mytå

Merci Myta pour ta réponse rapide,

Mais pourrais tu m'en dire un peu plus...

Dois-je créer une nouvelle userfrom avec un contrôle statut barre?

Où dois-je mettre le code?

Merci,

Simon

Re le forum

Tu adaptes le code à ton bouton enregistrement de ton fichier.

La barre de status est en bas à gauche de ton fichier Excel.

Mytå

87testnva-v0-2.xlsm (106.08 Ko)

Mon classeur étant géré par une userform en plein écran, la statut bar excel n'est pas visible.

J'aurai voulu que cette bar de progression apparaisse sur l'userfrom principale.

Est-ce possible selon toi?

Merci,

Simon

Salut le forum

Pour une barre de progression sur l'userform c'est non.

Mytå

Ok, merci quand même.

Je laisse ce fil ouvert si quelqu'un à la solution,

Bonne soirée à tous, merci Myta^^

Re le forum

Essaye avec ceci, le petit sablier qui tourne durant la sauvegarde.

Sub Enregistrement()
Application.Cursor = xlWait
DoEvents

ActiveWorkbook.Save

Application.Cursor = XlDefault
End Sub

Ou encore afficher une zone de texte sur ton UserForm

"Sauvegarde en cours, veuillez patienter ... "

Mytå

Merci pour tes réponses Myta.

J'ai essayé le sablier mais ça ne fonctionne pas,

Pour l'autre méthode, j'ai ce code:

Private Sub cmdSave_Click()
Labelattente.Visible = True
ActiveWorkbook.Save
Labelattente.Visible = False
End Sub

Mais ça persiste à s'enregistrer avant de montrer le label. Ça ne fonctionne donc pas puisqu'il apparait après le temps d'attente et s'efface immédiatement.

Peut-être me suis-je trompé quelque part...

A te lire,

Simon

Re le forum

Un petit coup de Repaint devrait suffir (Pour le DoEvents c'est à vérifier pour la nécéssité)

Private Sub cmdSave_Click()
Labelattente.Visible = True
UserForm1.Repaint
DoEvents
ActiveWorkbook.Save
Labelattente.Visible = False
End Sub

Mytå

Impeccable Myta, merci bcp!!!!

Pour info, le DoEvent n'est pas forcément nécessaire mais il permet d'afficher la sablier pendant l'enregistrement.

Merci encore,

simon

Rechercher des sujets similaires à "barre progression sauvegarde"