Faire patienter mes utilisateurs

Le
François
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du traitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19493411
Bonjour François,

Pour afficher ton message, utilise un userform

Et tu utilises l'événement du formulaire Userform_Activate() pour lancer la procédure (le
traitement) que tu désires.
Private sub Userform_activate()
Me.Repaint
call LeTraitement
Me.Hide
Unload Me
End sub

Dans un module standard, tu ajoutes une procédure :

Sub Ouverture_Du_Formulaire()
Userform1.show
End Sub

Lorsque tu ouvriras ton formulaire, le traitement s'exécutera sans besoin d'aucune autre
commande et ton message sera affiché.



"François" discussion :
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du traitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.
Caetera
Le #19493401
"François"
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du traitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.



Il suffit d'un simple dessin à afficher et masquer :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijUQFAn8q.xls

Etc
Philippe.R
Le #19494371
Bonjour,
En variante, tu peux aussi créer un text box (avec ton annonce) que tu
affiches au début de ta procédure et masque à la fin
Tu peux aussi utiliser la barre d'état et y afficher ton message :

Au début :

statusBarInitial = Application.DisplayStatusBar
Application.DisplayStatusBar = True
laBar = "Procédure en cours, merci de patienter..."
Application.StatusBar = laBar

à la fin :

Application.StatusBar = False
Application.DisplayStatusBar = statusBarInitial
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"François" news:
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du
traitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.


gmlsteph
Le #19495581
Bonjour,

tu peux aussi utiliser une progressbar
exemple:

Private Sub UserForm_activate()
Dim i As Long
On Error Resume Next
For i = 1 To 10000000
If i Mod 100 = 0 Then
ProgressBar1 = i / 100000

End If
Next i
Unload Me
End Sub

'lSteph

On 5 juin, 14:04, François
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du tr aitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.


gmlsteph
Le #19495591
Bonjour,

tu peux aussi utiliser une progressbar
exemple:

Private Sub UserForm_activate()
Dim i As Long
On Error Resume Next
For i = 1 To 10000000
If i Mod 100 = 0 Then
ProgressBar1 = i / 100000

End If
Next i
Unload Me
End Sub

'lSteph

On 5 juin, 14:04, François
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du tr aitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.


gmlsteph
Le #19495601
Bonjour,

tu peux aussi utiliser une progressbar
exemple:

Private Sub UserForm_activate()
Dim i As Long
On Error Resume Next
For i = 1 To 10000000
If i Mod 100 = 0 Then
ProgressBar1 = i / 100000

End If
Next i
Unload Me
End Sub

'lSteph

On 5 juin, 14:04, François
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du tr aitement.
Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.


François
Le #19499091
Merci à tous,

Des tas de solutions qui fonctionnent donc...
Il ne me reste plus qu'à choisir!



Bonjour,



tu peux aussi utiliser une progressbar
exemple:



Private Sub UserForm_activate()
Dim i As Long
On Error Resume Next
For i = 1 To 10000000
If i Mod 100 = 0 Then
ProgressBar1 = i / 100000



End If
Next i
Unload Me
End Sub



'lSteph



On 5 juin, 14:04, François
Bonjour,

J'ai un traitement assez long sur un fichier Excel. Comme j'ai supprimé la
MaJ écran, pendant le traitement, l'ordinateur semble figé.
Je souhaiterai faire patienter mes utilisateurs avec une MsgBox qui
afficherait par exemple "traitement en cours... patientez" et qui
disparaitrait sans action particulière de l'utilsateur à la fin du
traitement. Bon, j'ai un souci là, je n'y arrive pas.
Merci de votre aide.





--
Amicalement

"Il est impossible de porter à travers la foule le flambeau de la
vérité sans roussir ici et là une barbe ou une perruque"
G.C. Lichtenberg
Publicité
Poster une réponse
Anonyme