OVH Cloud OVH Cloud

barre de progression

4 réponses
Avatar
Leonard
Bonjour à tous,

Après de nombreuses recherches, des essais infructueux je me tourne une
nouvelle fois sur le forum pour avoir la solution miracle !!!

J'ai une macro assez importante qui met à jour de nombreux fichiers liés,
l'impression desplusieurs documents et une remise à zéro de plusieurs
dizaines de cellule. Cette macro est assez longue à s'excuter ( 2 à 3
minutes ) je souhaiterais avoir une sorte de barre de progression pour
indiquer l'état d'avancement de celle ci. Existe il un moyen simple de créer
une telle barre ?

Ma macro est activé après le lancement d'un Userform qui demande de confirmé
ou d'abandonner l'action.

Merci d'avance

4 réponses

Avatar
Stephane PINIER
Bonjour,

Dans ta boîte à Outils, tu peux ajouter des contrôles supplémentaires.
Ajoute celui qui s'appelle Microsoft ProgressBar Control.

Cordialement,

--
Stéphane PINIER,
Sitel France, pour l'Assistance Utilisateur Microsoft


"Leonard" a écrit dans le message de news:
bu41sr$gv7$
Bonjour à tous,

Après de nombreuses recherches, des essais infructueux je me tourne une
nouvelle fois sur le forum pour avoir la solution miracle !!!

J'ai une macro assez importante qui met à jour de nombreux fichiers liés,
l'impression desplusieurs documents et une remise à zéro de plusieurs
dizaines de cellule. Cette macro est assez longue à s'excuter ( 2 à 3
minutes ) je souhaiterais avoir une sorte de barre de progression pour
indiquer l'état d'avancement de celle ci. Existe il un moyen simple de
créer

une telle barre ?

Ma macro est activé après le lancement d'un Userform qui demande de
confirmé

ou d'abandonner l'action.

Merci d'avance




Avatar
fabienne HUÏEZ
Voici un bout de code pour t'aider, à adapter à ton cas
(dans mon exemple, on remplit une plage avec des nombres
aléatoires)

Faire une formulaire comprenant un Frame et un label à
l'intérieur du frame.

Private Sub UserForm_Activate()
UserForm1.Label2.Width = 0
Call Main
End Sub


Sub Main()
Dim Counter As Integer
Dim RowMax As Integer, ColMax As Integer
Dim r As Integer, c As Integer
Dim PctDone As Single

Application.ScreenUpdating = False
Counter = 1
RowMax = 100
ColMax = 25
For r = 1 To RowMax
For c = 1 To ColMax
Cells(r, c) = Int(Rnd * 1000)
Counter = Counter + 1
Next c
PctDone = Counter / (RowMax * ColMax)
UpdateProgressBar PctDone
Next r
Unload UserForm1
End Sub


Sub UpdateProgressBar(PctDone As Single)
With UserForm1
.Frame1.Caption = Format(PctDone, "0%")
.Label2.Width = PctDone * (.Frame1.Width - 10)
End With
DoEvents
End Sub

fabienne



-----Message d'origine-----
Bonjour à tous,

Après de nombreuses recherches, des essais infructueux je
me tourne une

nouvelle fois sur le forum pour avoir la solution
miracle !!!


J'ai une macro assez importante qui met à jour de
nombreux fichiers liés,

l'impression desplusieurs documents et une remise à zéro
de plusieurs

dizaines de cellule. Cette macro est assez longue à
s'excuter ( 2 à 3

minutes ) je souhaiterais avoir une sorte de barre de
progression pour

indiquer l'état d'avancement de celle ci. Existe il un
moyen simple de créer

une telle barre ?

Ma macro est activé après le lancement d'un Userform qui
demande de confirmé

ou d'abandonner l'action.

Merci d'avance


.



Avatar
Clément Marcotte
Bonjour,

La barre de progression est normalement fournie avec VisualStudio. Pas
sur qu'elle soit fournie, ou utilisable, avec toutes les versions
d'Office. Faudrait que quelqu'un l'essaie sur une machine n'ayant
jamais abritée VisualStudio, ce qui n'est pas le cas de mon
ordinateur.



"Stephane PINIER" a écrit dans le
message de news:%
Bonjour,

Dans ta boîte à Outils, tu peux ajouter des contrôles
supplémentaires.

Ajoute celui qui s'appelle Microsoft ProgressBar Control.

Cordialement,

--
Stéphane PINIER,
Sitel France, pour l'Assistance Utilisateur Microsoft


"Leonard" a écrit dans le message de news:
bu41sr$gv7$
Bonjour à tous,

Après de nombreuses recherches, des essais infructueux je me
tourne une


nouvelle fois sur le forum pour avoir la solution miracle !!!

J'ai une macro assez importante qui met à jour de nombreux
fichiers liés,


l'impression desplusieurs documents et une remise à zéro de
plusieurs


dizaines de cellule. Cette macro est assez longue à s'excuter ( 2
à 3


minutes ) je souhaiterais avoir une sorte de barre de progression
pour


indiquer l'état d'avancement de celle ci. Existe il un moyen
simple de


créer
une telle barre ?

Ma macro est activé après le lancement d'un Userform qui demande
de


confirmé
ou d'abandonner l'action.

Merci d'avance








Avatar
Leonard
Oui merci pour cette info mais pourrais tu m'expliquer comment lancer cette
macro supplementaire. Merci

Je lance un userforme qui demande de confirmer puis après confirmation la
macro se lance. Ou placer cette macro complémenataire ?

"Stephane PINIER" a écrit dans le message
de news:%
Bonjour,

Dans ta boîte à Outils, tu peux ajouter des contrôles supplémentaires.
Ajoute celui qui s'appelle Microsoft ProgressBar Control.

Cordialement,

--
Stéphane PINIER,
Sitel France, pour l'Assistance Utilisateur Microsoft


"Leonard" a écrit dans le message de news:
bu41sr$gv7$
Bonjour à tous,

Après de nombreuses recherches, des essais infructueux je me tourne une
nouvelle fois sur le forum pour avoir la solution miracle !!!

J'ai une macro assez importante qui met à jour de nombreux fichiers
liés,


l'impression desplusieurs documents et une remise à zéro de plusieurs
dizaines de cellule. Cette macro est assez longue à s'excuter ( 2 à 3
minutes ) je souhaiterais avoir une sorte de barre de progression pour
indiquer l'état d'avancement de celle ci. Existe il un moyen simple de
créer

une telle barre ?

Ma macro est activé après le lancement d'un Userform qui demande de
confirmé

ou d'abandonner l'action.

Merci d'avance