Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
en cours de traitement ?
Merci.
Noegor
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
en cours de traitement ?
Merci.
Noegor
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" a écrit dans le message de
discussion :
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" <nospam-rogeon@group-atlantis.com> a écrit dans le message de
discussion : OpMzd5XrKHA.1800@TK2MSFTNGP02.phx.gbl...
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" a écrit dans le message de
discussion :
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" a écrit dans le message de
discussion :
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" <nospam-rogeon@group-atlantis.com> a écrit dans le message de
discussion : OpMzd5XrKHA.1800@TK2MSFTNGP02.phx.gbl...
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Bonjour,
Dans le haut d'un module standard, tu déclares ta variable :
Public Arrêt As Boolean
Dans la procédure de ton bouton Stop, tu insères le code suivant
'----------------------------
Sub Bouton_Stop()
arrêt = true
End Sub
'----------------------------
Dans la procédure qui génère des nombres aléatoires, tu
insères dans ladite boucle les 2 commandes suivantes :
'----------------------------
For a = 1 to XXX
DoEvents
if Arrêt = True then
Arrêt = False
Exit sub
End if
'le reste de ton code
Next
'----------------------------
"Noégor" a écrit dans le message de
discussion :
Bonjour,
Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
cale...Comment faire pour que le clique sur le STOP agisse dans le
en cours de traitement ?
Merci.
Noegor
Adapte la procédure élaborée en la modifiant comme ceci :
'Déclaration de la variable dans le haut d'un module standard.
Public Arrêt As Boolean
La procédure à faire exécuter par ton bouton émanant de la barre
d'outils Formulaire sur ta feuille de lculca
Le premier clic suspend l'exécution de la macro
le deuxième clic sur le même bouton, relance la macro.
Évidemment, tu dois prévoir une façon pour arrêter définitivement
la macro...cela dépend de l'environnement de ton code...
'------------------------------------
Sub MonBouton()
'MaMacro est le nom du bouton dans ta feuille
Dim Sh As Object
Set Sh = Feuil1.Shapes("MaMacro").OLEFormat.Object
Arrêt = Not Arrêt
If Arrêt = False Then
Sh.Caption = "Suspendre l'exécution de la macro"
Else
Sh.Caption = "Relancer l'xécution de la macro"
End If
End Sub
'------------------------------------
Sub test()
'La grande boucle
For a = 1 To XXX
DoEvents
Do While Arrêt = True
DoEvents
Loop
Next
'Ton code
End Sub
'-------------------------------------------
"Noégor" a écrit dans le message de
discussion :
Merci de votre aide. La réponse de Michdenis fonctionne à merveille, mais
si, en fait je voulais seulement faire une pause, puis pouvoir le relancer
là où il s'est arrêté?
J'ai essayé de remplacer "exit sub" par "Stop" mais ça n'est pas
Alors comment faire?
Merci
Bien à vous.
Noegor
"michdenis" a écrit dans le message de
news:%
> Bonjour,
>
> Dans le haut d'un module standard, tu déclares ta variable :
>
> Public Arrêt As Boolean
>
> Dans la procédure de ton bouton Stop, tu insères le code suivant
>
> '----------------------------
> Sub Bouton_Stop()
> arrêt = true
> End Sub
> '----------------------------
>
> Dans la procédure qui génère des nombres aléatoires, tu
> insères dans ladite boucle les 2 commandes suivantes :
> '----------------------------
> For a = 1 to XXX
> DoEvents
> if Arrêt = True then
> Arrêt = False
> Exit sub
> End if
>
> 'le reste de ton code
> Next
> '----------------------------
>
>
>
> "Noégor" a écrit dans le message de
groupe de
> discussion :
> Bonjour,
> Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
> le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
> cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
> en cours de traitement ?
>
> Merci.
>
> Noegor
>
Adapte la procédure élaborée en la modifiant comme ceci :
'Déclaration de la variable dans le haut d'un module standard.
Public Arrêt As Boolean
La procédure à faire exécuter par ton bouton émanant de la barre
d'outils Formulaire sur ta feuille de lculca
Le premier clic suspend l'exécution de la macro
le deuxième clic sur le même bouton, relance la macro.
Évidemment, tu dois prévoir une façon pour arrêter définitivement
la macro...cela dépend de l'environnement de ton code...
'------------------------------------
Sub MonBouton()
'MaMacro est le nom du bouton dans ta feuille
Dim Sh As Object
Set Sh = Feuil1.Shapes("MaMacro").OLEFormat.Object
Arrêt = Not Arrêt
If Arrêt = False Then
Sh.Caption = "Suspendre l'exécution de la macro"
Else
Sh.Caption = "Relancer l'xécution de la macro"
End If
End Sub
'------------------------------------
Sub test()
'La grande boucle
For a = 1 To XXX
DoEvents
Do While Arrêt = True
DoEvents
Loop
Next
'Ton code
End Sub
'-------------------------------------------
"Noégor" <nospam-rogeon@group-atlantis.com> a écrit dans le message de
discussion : Ovd6d0irKHA.3908@TK2MSFTNGP05.phx.gbl...
Merci de votre aide. La réponse de Michdenis fonctionne à merveille, mais
si, en fait je voulais seulement faire une pause, puis pouvoir le relancer
là où il s'est arrêté?
J'ai essayé de remplacer "exit sub" par "Stop" mais ça n'est pas
Alors comment faire?
Merci
Bien à vous.
Noegor
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23bWSzFYrKHA.728@TK2MSFTNGP04.phx.gbl...
> Bonjour,
>
> Dans le haut d'un module standard, tu déclares ta variable :
>
> Public Arrêt As Boolean
>
> Dans la procédure de ton bouton Stop, tu insères le code suivant
>
> '----------------------------
> Sub Bouton_Stop()
> arrêt = true
> End Sub
> '----------------------------
>
> Dans la procédure qui génère des nombres aléatoires, tu
> insères dans ladite boucle les 2 commandes suivantes :
> '----------------------------
> For a = 1 to XXX
> DoEvents
> if Arrêt = True then
> Arrêt = False
> Exit sub
> End if
>
> 'le reste de ton code
> Next
> '----------------------------
>
>
>
> "Noégor" <nospam-rogeon@group-atlantis.com> a écrit dans le message de
groupe de
> discussion : OpMzd5XrKHA.1800@TK2MSFTNGP02.phx.gbl...
> Bonjour,
> Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
> le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
> cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
> en cours de traitement ?
>
> Merci.
>
> Noegor
>
Adapte la procédure élaborée en la modifiant comme ceci :
'Déclaration de la variable dans le haut d'un module standard.
Public Arrêt As Boolean
La procédure à faire exécuter par ton bouton émanant de la barre
d'outils Formulaire sur ta feuille de lculca
Le premier clic suspend l'exécution de la macro
le deuxième clic sur le même bouton, relance la macro.
Évidemment, tu dois prévoir une façon pour arrêter définitivement
la macro...cela dépend de l'environnement de ton code...
'------------------------------------
Sub MonBouton()
'MaMacro est le nom du bouton dans ta feuille
Dim Sh As Object
Set Sh = Feuil1.Shapes("MaMacro").OLEFormat.Object
Arrêt = Not Arrêt
If Arrêt = False Then
Sh.Caption = "Suspendre l'exécution de la macro"
Else
Sh.Caption = "Relancer l'xécution de la macro"
End If
End Sub
'------------------------------------
Sub test()
'La grande boucle
For a = 1 To XXX
DoEvents
Do While Arrêt = True
DoEvents
Loop
Next
'Ton code
End Sub
'-------------------------------------------
"Noégor" a écrit dans le message de
discussion :
Merci de votre aide. La réponse de Michdenis fonctionne à merveille, mais
si, en fait je voulais seulement faire une pause, puis pouvoir le relancer
là où il s'est arrêté?
J'ai essayé de remplacer "exit sub" par "Stop" mais ça n'est pas
Alors comment faire?
Merci
Bien à vous.
Noegor
"michdenis" a écrit dans le message de
news:%
> Bonjour,
>
> Dans le haut d'un module standard, tu déclares ta variable :
>
> Public Arrêt As Boolean
>
> Dans la procédure de ton bouton Stop, tu insères le code suivant
>
> '----------------------------
> Sub Bouton_Stop()
> arrêt = true
> End Sub
> '----------------------------
>
> Dans la procédure qui génère des nombres aléatoires, tu
> insères dans ladite boucle les 2 commandes suivantes :
> '----------------------------
> For a = 1 to XXX
> DoEvents
> if Arrêt = True then
> Arrêt = False
> Exit sub
> End if
>
> 'le reste de ton code
> Next
> '----------------------------
>
>
>
> "Noégor" a écrit dans le message de
groupe de
> discussion :
> Bonjour,
> Sous Excel 2003, j'ai un VBA qui génère des nombres aléatoires. Pour
arrêter
> le déroulement de façon intempestive, j'ai cré un bouton STOP et là je
> cale...Comment faire pour que le clique sur le STOP agisse dans le
programme
> en cours de traitement ?
>
> Merci.
>
> Noegor
>