Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'atten te pendant le déroulement de la macro. Cordialement Guy
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente()
ActiveSheet.Shapes("monshape").Visible = True
ActiveSheet.Shapes("monshape").Select
Selection.Characters.Text = "Attendez svp!"
'--- simulation attente
For i = 1 To 100000000
Next i
'---
ActiveSheet.Shapes("monshape").Visible = False
End Sub
Solution2: Horloge d'attente
Horloge
Dim temps
Dim chrono As Double
Sub majHeure()
Sheets("Attente").Range("a1") = chrono / 86400
chrono = chrono + 1
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub attente3()
chrono = 0
majHeure
'--- Insérer la macro ici
n = 1000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Next i
'---------------------------
Sheets("Attente").Range("a1") = "Fin"
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodal=False)
Public témoin As Boolean
Sub Attente()
n = 20 ' nb de fichiers à traiter
témoin = True ' pour empêcher fermeture du formulaire
F_BarreAttente.Show
For f = 1 To n
'-- traitement fichier
For a = 1 To 50000000: Next a ' Simulation attente
'--------------
p = p + 1 / n ' calcul du pourcentage
F_BarreAttente.Label1.Width = p * 100
F_BarreAttente.Caption = Format(p, "0%")
DoEvents
Next f
témoin = False
Unload F_BarreAttente
End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As
Integer)
If témoin Then Cancel = True
End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4()
n = 3000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Sheets("Attente2").Range("B1") = i / n
Next i
End Sub
Cordialement JB
Bonjour à tous
Pouvez vous me dire quoi faire pour faire apparaître un message d'atten te
pendant le déroulement de la macro.
Cordialement
Guy
Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'atten te pendant le déroulement de la macro. Cordialement Guy
Guy72
Salut Alain Ce que tu m'as proposé devrais me convenir, mais je ne sais pas comment l'adapter.
Ma macro se nomme : Private Sub CommandButton6_Click() Comment faire pour établir le rapport avec ma macro. Je voudrais avoir le message pendant le déroulement de cette macro. Cordialement Guy
"AV" a écrit dans le message de news:
Avec un simple textbox :
http://cjoint.com/?kbisC77Fr1
AV
Salut Alain
Ce que tu m'as proposé devrais me convenir, mais je ne sais pas comment
l'adapter.
Ma macro se nomme :
Private Sub CommandButton6_Click()
Comment faire pour établir le rapport avec ma macro.
Je voudrais avoir le message pendant le déroulement de cette macro.
Cordialement
Guy
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
eukrDGS5GHA.2264@TK2MSFTNGP02.phx.gbl...
Salut Alain Ce que tu m'as proposé devrais me convenir, mais je ne sais pas comment l'adapter.
Ma macro se nomme : Private Sub CommandButton6_Click() Comment faire pour établir le rapport avec ma macro. Je voudrais avoir le message pendant le déroulement de cette macro. Cordialement Guy
"AV" a écrit dans le message de news:
Avec un simple textbox :
http://cjoint.com/?kbisC77Fr1
AV
Pierre Fauconnier
Bonjour
Une autre solution
Application.StatusBar="Patientez svp. Je travaille..." ... ... Application.StatusBar = False
qui fera apparaître un message dans la barre d'état d'Excel Ok?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Guy72" a écrit dans le message de news: erd7y%
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
Bonjour
Une autre solution
Application.StatusBar="Patientez svp. Je travaille..."
...
...
Application.StatusBar = False
qui fera apparaître un message dans la barre d'état d'Excel
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Guy72" <Guy72@nospams.ouf> a écrit dans le message de news:
erd7y%23R5GHA.696@TK2MSFTNGP06.phx.gbl...
Bonjour à tous
Pouvez vous me dire quoi faire pour faire apparaître un message d'attente
pendant le déroulement de la macro.
Cordialement
Guy
Application.StatusBar="Patientez svp. Je travaille..." ... ... Application.StatusBar = False
qui fera apparaître un message dans la barre d'état d'Excel Ok?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Guy72" a écrit dans le message de news: erd7y%
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
AV
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
......, mais je ne sais pas comment l'adapter. Ma macro se nomme :
Private Sub CommandButton6_Click()
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
Guy72
Ok Merci Alain et JB Cordialement Guy
"JB" a écrit dans le message de news:
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
Ok Merci Alain et JB
Cordialement
Guy
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1159686641.504844.161580@c28g2000cwb.googlegroups.com...
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente()
ActiveSheet.Shapes("monshape").Visible = True
ActiveSheet.Shapes("monshape").Select
Selection.Characters.Text = "Attendez svp!"
'--- simulation attente
For i = 1 To 100000000
Next i
'---
ActiveSheet.Shapes("monshape").Visible = False
End Sub
Solution2: Horloge d'attente
Horloge
Dim temps
Dim chrono As Double
Sub majHeure()
Sheets("Attente").Range("a1") = chrono / 86400
chrono = chrono + 1
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub attente3()
chrono = 0
majHeure
'--- Insérer la macro ici
n = 1000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Next i
'---------------------------
Sheets("Attente").Range("a1") = "Fin"
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean
Sub Attente()
n = 20 ' nb de fichiers à traiter
témoin = True ' pour empêcher fermeture du formulaire
F_BarreAttente.Show
For f = 1 To n
'-- traitement fichier
For a = 1 To 50000000: Next a ' Simulation attente
'--------------
p = p + 1 / n ' calcul du pourcentage
F_BarreAttente.Label1.Width = p * 100
F_BarreAttente.Caption = Format(p, "0%")
DoEvents
Next f
témoin = False
Unload F_BarreAttente
End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As
Integer)
If témoin Then Cancel = True
End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4()
n = 3000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Sheets("Attente2").Range("B1") = i / n
Next i
End Sub
Cordialement JB
Bonjour à tous
Pouvez vous me dire quoi faire pour faire apparaître un message d'attente
pendant le déroulement de la macro.
Cordialement
Guy
Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
Guy72
Quand j'intègre ta macro dans la mienne, j'ai le message suivant : L'élément portant ce nom est introuvable. Cordialement Guy
"AV" a écrit dans le message de news: %
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
Quand j'intègre ta macro dans la mienne, j'ai le message suivant :
L'élément portant ce nom est introuvable.
Cordialement
Guy
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
%23gHSf4S5GHA.4644@TK2MSFTNGP04.phx.gbl...
......, mais je ne sais pas comment l'adapter. Ma macro se nomme :
Private Sub CommandButton6_Click()
Quand j'intègre ta macro dans la mienne, j'ai le message suivant : L'élément portant ce nom est introuvable. Cordialement Guy
"AV" a écrit dans le message de news: %
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
Guy72
Salut JB J'ai pris la solution 4. J'ai intégré ma macro. Cela donne ça: Private Sub CommandButton4_Click() Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000 Difficulte = 4 Unload Me Sheets("Attente2").Range("B1") = i / n Next i End Sub
Mais ça ne fonctionne pas. Je suppose qu'il ne faut pas mélanger : Private Sub CommandButton4_Click() et Sub attente4()
Cordialement Guy "JB" a écrit dans le message de news:
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
Salut JB
J'ai pris la solution 4.
J'ai intégré ma macro.
Cela donne ça:
Private Sub CommandButton4_Click()
Sub attente4()
n = 3000
For i = 1 To n
DoEvents
For j = 1 To 100000
Difficulte = 4
Unload Me
Sheets("Attente2").Range("B1") = i / n
Next i
End Sub
Mais ça ne fonctionne pas.
Je suppose qu'il ne faut pas mélanger :
Private Sub CommandButton4_Click() et Sub attente4()
Cordialement
Guy
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1159686641.504844.161580@c28g2000cwb.googlegroups.com...
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente()
ActiveSheet.Shapes("monshape").Visible = True
ActiveSheet.Shapes("monshape").Select
Selection.Characters.Text = "Attendez svp!"
'--- simulation attente
For i = 1 To 100000000
Next i
'---
ActiveSheet.Shapes("monshape").Visible = False
End Sub
Solution2: Horloge d'attente
Horloge
Dim temps
Dim chrono As Double
Sub majHeure()
Sheets("Attente").Range("a1") = chrono / 86400
chrono = chrono + 1
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub
Sub attente3()
chrono = 0
majHeure
'--- Insérer la macro ici
n = 1000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Next i
'---------------------------
Sheets("Attente").Range("a1") = "Fin"
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean
Sub Attente()
n = 20 ' nb de fichiers à traiter
témoin = True ' pour empêcher fermeture du formulaire
F_BarreAttente.Show
For f = 1 To n
'-- traitement fichier
For a = 1 To 50000000: Next a ' Simulation attente
'--------------
p = p + 1 / n ' calcul du pourcentage
F_BarreAttente.Label1.Width = p * 100
F_BarreAttente.Caption = Format(p, "0%")
DoEvents
Next f
témoin = False
Unload F_BarreAttente
End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As
Integer)
If témoin Then Cancel = True
End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4()
n = 3000
For i = 1 To n
DoEvents
For j = 1 To 100000
Next j
Sheets("Attente2").Range("B1") = i / n
Next i
End Sub
Cordialement JB
Bonjour à tous
Pouvez vous me dire quoi faire pour faire apparaître un message d'attente
pendant le déroulement de la macro.
Cordialement
Guy
Salut JB J'ai pris la solution 4. J'ai intégré ma macro. Cela donne ça: Private Sub CommandButton4_Click() Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000 Difficulte = 4 Unload Me Sheets("Attente2").Range("B1") = i / n Next i End Sub
Mais ça ne fonctionne pas. Je suppose qu'il ne faut pas mélanger : Private Sub CommandButton4_Click() et Sub attente4()
Cordialement Guy "JB" a écrit dans le message de news:
Bonjour,
http://cjoint.com/?kbjjWSY8CM
Solution1:Message avec Shape
Sub Attente() ActiveSheet.Shapes("monshape").Visible = True ActiveSheet.Shapes("monshape").Select Selection.Characters.Text = "Attendez svp!" '--- simulation attente For i = 1 To 100000000 Next i '--- ActiveSheet.Shapes("monshape").Visible = False End Sub
Solution2: Horloge d'attente
Horloge Dim temps Dim chrono As Double Sub majHeure() Sheets("Attente").Range("a1") = chrono / 86400 chrono = chrono + 1 temps = Now + TimeValue("00:00:1") Application.OnTime temps, "majHeure" End Sub
Sub attente3() chrono = 0 majHeure '--- Insérer la macro ici n = 1000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Next i '--------------------------- Sheets("Attente").Range("a1") = "Fin" Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Sub auto_close() On Error Resume Next Application.OnTime temps, Procedure:="majHeure", Schedule:úlse End Sub
Solution3: Barre d'attente formulaire
Le formulaire est non modal (showmodalúlse)
Public témoin As Boolean Sub Attente() n = 20 ' nb de fichiers à traiter témoin = True ' pour empêcher fermeture du formulaire F_BarreAttente.Show For f = 1 To n '-- traitement fichier For a = 1 To 50000000: Next a ' Simulation attente '-------------- p = p + 1 / n ' calcul du pourcentage F_BarreAttente.Label1.Width = p * 100 F_BarreAttente.Caption = Format(p, "0%") DoEvents Next f témoin = False Unload F_BarreAttente End Sub
Pour empêcher la fermeture du formulaire:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If témoin Then Cancel = True End Sub
Solution4: Afficher un pourcentage d'avancement
Sub attente4() n = 3000 For i = 1 To n DoEvents For j = 1 To 100000
Next j Sheets("Attente2").Range("B1") = i / n Next i End Sub
Cordialement JB
Bonjour à tous Pouvez vous me dire quoi faire pour faire apparaître un message d'attente pendant le déroulement de la macro. Cordialement Guy
jps
alain n'étant pas encore rentré des champignons, je réponds à sa place, peut-être bêtement car je prends le train en marche : pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une fois créée, la nommer "Msg" HTH jps
"Guy72" a écrit dans le message de news: %
Quand j'intègre ta macro dans la mienne, j'ai le message suivant : L'élément portant ce nom est introuvable. Cordialement Guy
"AV" a écrit dans le message de news: %
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
alain n'étant pas encore rentré des champignons, je réponds à sa place,
peut-être bêtement car je prends le train en marche :
pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la
fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une
fois créée, la nommer "Msg"
HTH
jps
"Guy72" <Guy72@nospams.ouf> a écrit dans le message de news:
%23ZVq27V5GHA.5072@TK2MSFTNGP05.phx.gbl...
Quand j'intègre ta macro dans la mienne, j'ai le message suivant :
L'élément portant ce nom est introuvable.
Cordialement
Guy
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
%23gHSf4S5GHA.4644@TK2MSFTNGP04.phx.gbl...
......, mais je ne sais pas comment l'adapter. Ma macro se nomme :
Private Sub CommandButton6_Click()
alain n'étant pas encore rentré des champignons, je réponds à sa place, peut-être bêtement car je prends le train en marche : pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une fois créée, la nommer "Msg" HTH jps
"Guy72" a écrit dans le message de news: %
Quand j'intègre ta macro dans la mienne, j'ai le message suivant : L'élément portant ce nom est introuvable. Cordialement Guy
"AV" a écrit dans le message de news: %
......, mais je ne sais pas comment l'adapter. Ma macro se nomme : Private Sub CommandButton6_Click()
http://cjoint.com/?kbjWRX7uix
AV
AV
alain n'étant pas encore rentré des champignons,
** Z'étaient sortis y a une quinzaine..... Se sont recachés depuis et sont pas encore ressortis....
je réponds à sa place,
** C'est une excellente initiative !
peut-être bêtement car je prends le train en marche : pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une fois créée, la nommer "Msg"
** C'est tout à fait ça ! (Pour ce faire : sélection de la zone >> aller la nommer dans la barre des noms)
AV
alain n'étant pas encore rentré des champignons,
** Z'étaient sortis y a une quinzaine.....
Se sont recachés depuis et sont pas encore ressortis....
je réponds à sa place,
** C'est une excellente initiative !
peut-être bêtement car je prends le train en marche :
pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la
fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une fois
créée, la nommer "Msg"
** C'est tout à fait ça !
(Pour ce faire : sélection de la zone >> aller la nommer dans la barre des noms)
** Z'étaient sortis y a une quinzaine..... Se sont recachés depuis et sont pas encore ressortis....
je réponds à sa place,
** C'est une excellente initiative !
peut-être bêtement car je prends le train en marche : pour utiliser la macro d'AV, il faut bien entendu créer dans ta feuille la fameuse Shape (la zone de texte en jaune avec "Message d'attente") et une fois créée, la nommer "Msg"
** C'est tout à fait ça ! (Pour ce faire : sélection de la zone >> aller la nommer dans la barre des noms)