IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

UserForm non modal mais arrêtant la macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Points : 46
    Points
    46
    Par défaut UserForm non modal mais arrêtant la macro
    Bonjour à toutes et à tous,

    Je cherche depuis plusieurs heures à résoudre ce problème :

    Je fait une comparaison de deux feuilles Excel, dans le cas où elles sont différentes, je demande à l'utilisateur de faire des modifications sur l'une d'entre elles.
    Je souhaite qu'il puisse faire des modification puis soit "valider" soit "annuler" dans un UserForm.
    Il faut donc que le projet se stoppe pendant cette opération mais que le UserForm ne bloque pas l'accès au moins à la page concernée.

    En gros :
    Comparaison => si Ok continue le projet ; => si Pas Ok, Stop du process complet, apparition du UserForm avec deux boutons Valider et Annuler et accès au classeur pour modification
    Click sur Valider => reprise du process
    Click sur Annuler => stop du process

    Je ne gère pas bien la conception du UserForm ni son interaction avec le projet (stop et reprise du process).

    Merci par avance à tout ceux qui pourront m'aider.

    A.E.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Je ne sais pas si ça peut fonctionner, mais essaye quand même:
    -tu affiches ton userform en non-modal, suivi d'un arrêt de la macro (attention de ne pas utiliser End j'ai bien peur que cela "termine" le userform)
    -tu gère l'évènement "Deactivate" de ton Userform pour lancer une macro avec


    Cette solution suppose que ton process soit divisé en 2 procédures: une qui est exécutée avant affichage et contient une commande d'affichage de ton userform suivie d'un arrêt de macro lorsqu'il y a un problème et un appel à ta deuxième procédure qui est la suite du process lorsu'il n'y a pas de problème. Cette deuxième partie est également appelée lors de la validation du userform.


    J'espère que tu as compris la méthode que je te suggère d'essayer, mais je ne te garantis pas que ça marche, c'est juste que j'aurais essayé comme ça.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Points : 46
    Points
    46
    Par défaut
    Merci pour la réponse rapide ; j'avais vu cette possibilité de diviser la Macro en deux mais je trouve ça étonnant de ne pas avoir de base un UserForm qui puisse interrompre la macro et en cliquant sur "ok" ou "annuler" la reprendre ou la stopper sans diviser le code...

    Quelque chose du genre :
    If test = false then
    pause macro
    userform.show
    On click on "Ok" ==> reprise Macro
    On click on "Annuler" ==> Stop la Macro
    End if

    Je vais pour l'instant essayé de faire autrement, il me semble que c'est possible en divisant le code entre "avant et après" test.

    Si jamais il y a une solution, merci d'avance.

    A.E.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Le problème, c'est que tu ne peux pas faire d'action dans Excel (en dehors du contrôle par code VBA) lorsque du code est en cours d'exécution. Du moins il me semble, car je ne me suis jamais amusé à essayer de le faire.

    De plus, je ne vois pas de propriété (même dans les différents objets Excel) permettant à un Userform de laisser le contrôle à l'application.

    Si quelqu'un a un truc pour ça, je suis moi aussi tout ouïe.

Discussions similaires

  1. [XL-2007] Userform non-modal & Accès au modèle objet du projet VBA
    Par JackIsJack dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/06/2010, 10h23
  2. [XL-2007] Userform non modale vide !
    Par Gloubi99 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/04/2010, 18h40
  3. Pb référence / userform non-modal
    Par DARKALANE dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/09/2009, 21h03
  4. [Toutes versions] Userform non modal = plantage d'excel
    Par youn1096 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/05/2009, 16h39
  5. [E-02] Comment garder un Userform non Modal affiché ?
    Par Frutchy dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 23/12/2008, 02h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo