Arret compteur de façon aléatoire

Résolu
mikey17 Messages postés 5 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 18 novembre 2007 - 16 nov. 2007 à 18:04
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 18 nov. 2007 à 23:09
bonjour,
Je suis novice en vba.
j'ai créé une macro en vba sous excel qui affiche a l'infini dans une case la valeur d'une variable qui évolue entre un minimun et un maximum. C'est joli, on a une impression de roulement de nombre.
Je cherche une procedure ou fonction qui, par un click de souris premetrai d'arreter ce compteur.
merci pour votre aide.
mikey17

12 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
16 nov. 2007 à 22:10
Salut,

Voici :

Sub essai()

       If StopMacro Then Exit sub
  
      Worksheets("feuil1").Select
      For i = 1 To 3000
            Sheets("feuil1").Range("b5").Value = i
      Next i

End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
17 nov. 2007 à 02:23
Mikey, je dirais qu'il manque un DoEvents dans ta Sub Essai pour que le système puisse prendre le temps de comprendre ce qui se passe.

Lorsque le programme démarre une boucle, rien ne l'arrête sauf peut-être un DoEvents.

MPi²
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 nov. 2007 à 19:19
salut,
exact, à savoir que de toute façon sur 3000 çà ne va pas durer des siècles non plus.....

nb : pas exit sub avant la boucle mais exit for dans la boucle
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 nov. 2007 à 15:17
Salut,

Ben, voui le code que j'ai donnée est fait pour être mit dans un commandButton...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mikey17 Messages postés 5 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 18 novembre 2007
18 nov. 2007 à 21:17
bonsoir,


pour ceux que cela peut interressé, j'ai une solution:
il faut créer un userform que j'appellerai userform1,
et un bouton dans ce userform que j'appellerai commandbutton1.

cette partie est a mettre dans un module:



Public stopmacro As Boolean
Dim i As Integer



Sub essai()
      Worksheets("feuil1").Select
      stopmacro = False
      UserForm1.Show

      For i = 1 To 3000
            Sheets("feuil1").Range("b5").Value = i
            If stopmacro = True Then Exit For
           DoEvents
      Next i



End Sub


cette partie est a mettre dans la partie code du commandbutton1:

Private Sub CommandButton1_Click()



stopmacro = True
    
End Sub


Quand on click avec la souris sur le bouton, la procedure commandbutton1_click s'execute et permet l'arret de la macro.

encore merci a vous qui m'avez permis d'arriver à la solution .
mikey17
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
16 nov. 2007 à 21:15
Salut,

Ben si tu veux de l'aide, faudrait peut-être nous montrer ta macro, pour voir son code, et ainsi savoir comment on pourrait l'arrêter....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
16 nov. 2007 à 21:23
Re,

Quoi que :

Option Explicit

Dim StopMacro As Boolean

Private sub Command1_ClickIf StopMacro Then StopMacro False Else StopMacro True
End sub

Maitenant dans ta macro, ou tu affiches ta variable, tu intercales dans ta boucle la variable StopMacro...
Quand tu cliques dans ton bouton elle passe à True >> Donc "Exit Boucle", et quand tu re-cliques elle passe à False >> Donc tu relances le calcul....Ansi dessuite...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
mikey17 Messages postés 5 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 18 novembre 2007
16 nov. 2007 à 22:05
bonsoir exploreur,
merci beaucoup pour ton aide.
Voici ma macro simplifiée avec ta procedure:

Option Explicit


Dim StopMacro As Boolean
Dim i As Integer


Sub essai()
      Worksheets("feuil1").Select
      For i = 1 To 3000
            Sheets("feuil1").Range("b5").Value = i
            StopMacro
      Next i


End Sub


Private Sub Command1_Click()      If StopMacro Then StopMacro False Else StopMacro True
End Sub

Je ne sais pas comment affecter la varable stopmacro a l'appuie du click de la souris.
merci pour ton aide.
mikey17
 
0
mikey17 Messages postés 5 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 18 novembre 2007
17 nov. 2007 à 20:04
bonsoir,
un grand merci a vous tous de m'avoir donné un peu de votre temps et résolu mon probleme.
cordialement
mikey17
0
mikey17 Messages postés 5 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 18 novembre 2007
18 nov. 2007 à 15:08
bonjour,
dsl je me suis réjoui trop vite,
le compteur s'arrete grace au doevents lorsque j'appuie sur la souris mais la procedure d'exploreur ne s'execute pas,  je n'arrive pas a lier la variable stopmacro avec l'appuie de la souris.
faut-il créer un bouton?
merci pour vos reponses
mikey17
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 nov. 2007 à 15:19
Ou alors, et là je n'en sais rien, car je ne fait pas de VBA, voir comment on peut intércepter le click sur ta cellule...Là je pense que MPI pourra t'en dire beaucoup plus que moi...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 nov. 2007 à 23:09
De rien...Au plaisir...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Rejoignez-nous