Comment continuer une macro via un bouton commande

  • Initiateur de la discussion Initiateur de la discussion Remi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Remi

Guest
J'avais besoin de stopper ma macro au milieu de son execution pour faire une mise à jour entre temps. Comment redémarrer la macro où j'en étais via un bouton de commande?
 
A la base j'ai un seul bouton pour lancer le traitement, mais j'ai conscience que je dois en rajouter un. Mais comment coder un bouton de sorte qu'il renchaine la où le précédent traitement s'est terminé?

C'est une mise a jour de données sur la feuille Excel, pas de la macro!
 
Avant la mise à jour, je stoppe la macro par un simple STOP
PAr exemple, ce qui serait bien:

SI je clique sur le deuxieme bouton de commande
ALORS je continue le traitement juste après le stop...
 
Bonjour Remi, Mutzik, Jacques le Forum

Non, on ne peut pas faire ceci ou alors en mode 'Debug Step Into' (Pas à pas) mais ce n'est pas du Run Time réél.

Enfin je ne sais pas ce que tu appelles 'Mise à Jour' ?... Essaies quand même un DoEvents conjoitement avec Calculate, si on parle de mise à jour de Formules pointant sur des données importées par VBA...

Mais si on parle de 'Mise à Jour' par de la saisie manuelle, dans ce genre de cas, soit tu prévoies une rupture en deux Sub disctinctes avec deux boutons en prévoyant bien où en est le Code du premier Bouton pour suivre avec le Bouton 2, soit tu peux éventuellement mettre une instruction 'OnTime' pour lancer la seconde Sub après le délai désiré... Ou encore de déclencher les macro par évènementielles de Private Modules...

A mon avis tu te tracasses de soucis inutiles en te compliquant la vie car tu ne dois pas bien avoir la maîtrise de ce que peut faire VBA... Le mieux serait de nous expliquer calmement le but et le synopsis de ton Projet...

Bon Courage
[ol]@+Thierry[/ol]
 
Remi

je te propose un truc tout c..

en cliquant sur le bouton j'écris 'Bonjour' et la procédure s'arrête
en recliquant je la force à recommencer après l'arrêt (Exit Sub) pour écrire 'A Tous'

Est ce que cela peut t'inspirer [file name=bouton_20060314172226.zip size=11802]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/bouton_20060314172226.zip[/file]
 
Bonjour Thierry et les autres

Attention Rémi, la proposition toute bête que je t'ai proposée n'interrompt pas la macro comme tu le demandais.
J'appelle deux fois cette macro sous condition

Je t'ai proposé cela pour te donner une idée qui ne servira peut être à rien

Thierry a été très explicite à ce sujet

Bon courage
 
ok
Donc 1ere feuille: Donnees saisies manuellement, les données sont stockées au fil des années
Ensuite, j'au un bouton de commande qui lance un USF, l'USF permet de rensigner une DateDebut et une DateFin, quand je clique sur Ok de l'usf, le traitement démarre...

2e feuille: l'intervalle selectionné grace a l'usf est collé en feuille 2 ou se trouvait deja des données initiales mais sans les dates, dc apres le debut de la macro (copier coller) je la stoppe, pr renseigner les données manuellement en fonction de la date, ensuite je projette de mettre un 2e bouton de commande qui permet de lancer la suite de la macro avec les données mises a jour.

Mon probleme est que je vais avoir un sub de ce 2e bouton avec le code que javais ecrit a la suite logiquement, mais du coup les variables ne seront plus reconnues, notamment celle provenant du Userform... C'est un peu un casse tete
 
Re Bonjour à tous

J'ai lu tes explications, alors donc à mon avis ce n'est pas si sorcier que ça...

Si le problème est : 'mais du coup les variables ne seront plus reconnues, notamment celle provenant du Userform'

Deux alternatives combinables :

1) Déclaration des Variables en tant que Publique pour la Globalité du Projet VB...

          => Mode D'Emploi

            Dans un Module Standard en Top de celui-ci, syntax :
            Public MaVariablePublic As String


2) Non Déchargement du UserForm de la Mémoire Accessible pour la Globalité du Projet VB...

          => Mode D'Emploi

            Instruction : 'UserForm1.Hide'
            On pourra utiliser les valeurs contenues dans les Contrôles de ce UserForm
            Par ce genre de syntax : UserForm1.TextBox1.Value

Bonne Soirée
[ol]@+Thierry[/ol]

Message édité par: _Thierry, à: 14/03/2006 18:41
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
32
Affichages
1 K
Réponses
2
Affichages
328
Retour