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

VBA Discussion :

OnTime qui restaurera userform


Sujet :

VBA

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Points : 37
    Points
    37
    Par défaut OnTime qui restaurera userform
    Bonjour, je minimise un user form
    code dans le usf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub minimiser()
    ShowWindow Hwnd, 2
    End Sub
    et juste aprés avoir appelé "minimiser" je lance mon "OnTime"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:10"), "restau(" & Hwnd & ")"
    car je veux qu'il soit restauré quelques secondes plus tard .
    Ma procédure "restau" est dans un module (et pas le userform bien que ça aurait été plus simple !):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub restau()
    ShowWindow Hwnd, 1
    End Sub
    Vous avez dû comprendre que je dois lui passer Hwnd en parametre (il est déclaré et géré dans ma form) et que j'ai un plantage :
    "impossible de trouver la macro'restau(1377268)'"
    Pouvez vous me dire comment faire pour pouvoir restaurer ma form ?
    J'envoie le classeur ci joint, la form se lance au démarrage; pour minimiser, taper 'M' (c'est géré dans la procedure UserForm_KeyUp).
    Merci !
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Si ta variable Hwnd n'est pas une variable locale à la procédure (mais Private ou Public), il suffit de l'enlever :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime Now + TimeValue("00:00:10"), "restau"
    D'ailleurs tu n'as pas de paramètre à ta procédure restau...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    Si justement il y avait Hwnd, et elle était définie dans userform, pas dans le module. C'est rectifié, c'est du billard maintenant.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Application.OnTime qui bloque avec du code validé sur d'autres topic
    Par tmlpqsdpmdlc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/04/2015, 14h11
  2. Show each picture ontime in a userform
    Par RastaBomboclat dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/12/2014, 14h40
  3. Utiliser Application.Ontime dans un userform
    Par escalopepane dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2013, 12h53
  4. Réponses: 2
    Dernier message: 16/03/2007, 15h44
  5. [VBA-E]Userform qui "plante"
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/05/2006, 11h33

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