Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006
-
13 mars 2006 à 11:53
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006
-
28 mars 2006 à 11:33
Bonjour,
En fait j'utilise une macro VBA access pour "piloter" une application et je voudrai y afficher une boite de dialogue. Le problème c'est que quand j'utilise message box elle s'affiche sous exel.
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 13 mars 2006 à 14:09
Je crois que je me suis mal exprimé désolé. Quand je dit 'sous excel' c'est pas dessous mais c'est que ça s'affiche sur une feuille. Ce que je veux c'est par exemple activer Internet Explorer avec 'appactivate' et afficher une boite de dialogue au premier plan devant IE (ou n'importe quelle autre application). J'ai déjà essayer avec une feuille personnalisée mais merci quand même.
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 13 mars 2006 à 15:33
Merci beaucoup ça fonctionne déjà mieux. Il se lance une boîte de dialogue mais celle ci reste réduite alors que je voudrai l'afficher directement. D'ailleurs je croyait que appactivate agrandissait la fenêtre appelée mais ce n'est pas le cas. Je vien d'essayer des trucs mais ça marche pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 13 mars 2006 à 16:09
J'ai dit ce qu'il se passait : "Il se lance une boîte de dialogue mais celle ci reste réduite alors que je voudrai l'afficher directement". En gros la boite n'arrive plus sous exel, ça c'est la bonne nouvelle, mais elle reste réduite dans la "barre windows en bas". Je vois pas comment être plus clair...
J'ai essayé ceci mais non...
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 13 mars 2006 à 17:27
Ok mais c'est quoi le handle? Je suis un débutant moi désolé. Ca fait qu'une semaine que je bosse sur VB pour mon stage.
En tout cas merci pour les infos.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 mars 2006 à 17:52
le handle change à chaque fois.
récupérer l'identifiant du MessageBox? tu ne peux pas (pas facilement en tout cas). de ta macro /
feuille-excel? j'ai mis l'exemple en VB6 parce que je ne touche pas à
VBA. désolé.
zavier666
Messages postés266Date d'inscriptionmardi 7 septembre 2004StatutMembreDernière intervention30 avril 20091 19 mars 2006 à 14:17
utilise la fonction setwindowpos et fait une fen^^etre always ont top pour qu'elle reste au dessus de toute les autres
tu peux essayer d'aller sur mon site dans la rubrique user32dll pour savoir comment récupérer les handle des fenêtre et savoir comment agir sur ta fe^nêtre:
Albadeath
Messages postés18Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention28 mars 2006 21 mars 2006 à 13:37
Ok merci Zavier666 pour ton aide mais j'ai réussi à résoudre mon problème en utilisant justement les API. J'utilise FindWindow pour avoir le handle (ça marche super sauf qu'il faut connaitre la classe de l'appli) puis ShowWindow et enfin SetForegroundWindow. C'est imparrable.
Je vais tout de même aller jeter un oeuil sur ton site vu que j'ai encore d'autre chose à faire.