|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour,
Je travaille sur une application sous VBA Excel 2003 et j'ai un petit souci: dans mon script je crée une zone de texte avec l'objet msoControlEdit. A la propriété OnAction j'associe une macro avec paramètre, qui pemet de récupérer la valeur rentrée par l'utilisateur et de supprimer la commandbar juste après. Dans le script principal, je veux pouvoir utiliser cette valeur mais après l'exécution du OnAction et de la macro associée. En faisant des tests, je me rends compte que le script commce d'abord par exécuter ce qu'il y a après l'appel de la macro associée au OnAction et ensuite il rend la main à l'utilisateur pour qu'il puisse remplir la zone de texte. Y a-t-il un moyen de forcer l'ordre d'exécution des différentes parties de mon script? Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Philippe ex Observeur CGG / Analyste prog. Inscription : juin 2006 Messages : 1 702 ![]() |
Salut, c'est à toi d'ordonner ton code en conséquence, pour info voir peut-être http://fring.developpez.com/vba/excel/barremenu/
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )Balisez votre code après l'avoir indenté sous Excel via Smart Indenter Autre utilitaire : MZ Tools 3.0 VBA Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour,
Merci beaucoup pour ta réponse. En fait, apparemment mon problème n'est pas lié à l'appel de la fonction associée au OnAction. Je pense que c'est lié à la définition de ma barre. J'ai regardé dans le document joint à ton message mais j'arrive pas à trouver ce qui cloche .. Voici le début de mon code: ---------------------------------------------------------- Code :
. suite du code ---------------------------------------------------------- Au moment de l'exécution, ce n'est qu'après l'affichage du msgbox et l'exécution de toute la suite que VBA me rend la main sur la barre(qui est affichée tout au début qd même) Je suis à court d'idées .. je sais pas ce qui va pas avec ma barre .. Quelqu'un pourrait m'aider svp? |
||
|
|
00
|
|
|
#4 |
![]() ![]() |
Pas vraiment clair ton message box bloque le code et l'accès à toutes les barres de menu c'est le fonctionnement normal des message box sous Excel ..!
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
J'ai de la peine à comprendre ce que tu veux faire ? Tu voudrais que ta proc s'arrête sitôt que ta zone de texte est crée mais ceci n'est pas possible, il faut que la suite de ton code soit dans la macro appelée par OnAction et à la fin de cette macro tu peux supprimer ta zone de texte. La proc appelée par OnAction sera exécutée quand l'utilisateur tapera sur 'Entrée' : Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Ok .. donc ce que je veux faire n'est pas possible. Je pensais que les OnAction c'était comme les "call proc": tu appelles la macro, et ce n'est qu'à la fin de son exécution, que la suite du main peut être exécutée.
J'avais pensé à mettre la suite dans la proc appelée, comme tu le suggères, mais ça me génait un peu de mettre mon main dans une proc "secondaire". Mais bon, là j'ai pas le choix apparemment .. Merci beaucoup pour ces réponses! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com