Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire patienter mes utilisateurs

7 réponses
Avatar
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.

7 réponses

Avatar
MichDenis
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" a écrit dans le message de groupe de
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.
Avatar
Caetera
"François" a écrit dans le message de 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.



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

Etc
Avatar
Philippe.R
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" a écrit dans le message de
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.


Avatar
gmlsteph
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 wrote:
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.


Avatar
gmlsteph
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 wrote:
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.


Avatar
gmlsteph
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 wrote:
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.


Avatar
François
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 wrote:
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