Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 10h44   #1
Invité de passage
 
Homme
Inscription : août 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 4
Points : 1
Points : 1
Par défaut Comment accéder à un bouton d'un UserForm ouvert en non modal

Bonjour,

Voilà, j'ai une petite macro développée en SolidWorks qui me permet d'imprimer tous les plans des composants d'un assemblage. La macro fonctionne bien mais pendant l'impression des dessins (qui prend un certain temps suivant le nombre de composants) j'affiche un UserForm avec barre de progression. Je souhaiterais également à partir de ce UserForm permettre à l'utilisateur d'annuler l'impression (en fait mettre fin à la macro). Je sais quel code mettre derrière ce bouton mais le problème c'est que le UserForm est ouvert en "Modeless" pour permettre à la macro de poursuivre son traitement. De ce fait je n'ai aucun accès, si ce n'est que visuel, au UserForm en question !

Je suis embêté, quelqu'un aurait-il une solution directe ou est-ce plus compliqué que ça en a l'air ?!

Merci d'avance...
jayjay08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 11h02   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
As tu bien au moins un DoEvents dans ta boucle de calcul , qui doit être située après l'affichage en non-modal de ton userform ..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 11h52   #3
Invité de passage
 
Homme
Inscription : août 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 4
Points : 1
Points : 1
Oui, j'ai pensé à mettre un DoEvents dans l'initialisation de mon UserForm mais ça ne change rien... A moins que je ne l'utilise pas comme je devrais ?!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub main()
 
Load UserForm1
UserForm1.Show
...
 
End Sub
 
Private Sub UserForm1_Activate()
 
    DoEvents
 
End Sub
jayjay08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 12h23   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Non ce n'est pas la qu'il faut un DoEvents..


la commande UserForm.show , appelle ton userForm en mode Modal ... ou as tu mis ta boucle de calcul
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 12h05   #5
Invité de passage
 
Homme
Inscription : août 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 4
Points : 1
Points : 1
Je l'ai mis là où il y a les "..." dans le code ce qui fonctionne assez bien si je travaille en non-modal mais évidemment ça me ne permet plus d'accéder à mon bouton CANCEL. J'ai aussi pensé à déplacer ma boucle de calcul vers mon UserForm, alors un show modal pourrait fonctionner mais je ne sais pas bien sous quel évènement le placer, j'ai quand même pas mal de code avec appel de sous-routines, etc...
jayjay08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 12h14   #6
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
il faut laisser le code ou il est travailler en mode non-modal .. puis rajouter des DoEvents dans ton calcul (tes boucles ??) pour permettre au système de prendre la main pour gérer l'affichage...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 12h42   #7
Invité de passage
 
Homme
Inscription : août 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2011
Messages : 4
Points : 1
Points : 1
Super ça marche, je l'ai placé au début de ma boucle principal !

Merci beaucoup...
jayjay08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h28.


 
 
 
 
Partenaires

Hébergement Web