Je cherche =E0 savoir s'il y a moyen de d=E9tecter quand Excel=20
est "r=E9-activ=E9" : c'est =E0 dire lorsque l'on retourne dans=20
la fen=EAtre excel apr=E8s avoir ferm=E9 une autre application=20
(ou apr=E8s avoir fait un ALT+TAB depuis une autre=20
application).
J'ai essay=E9 ces deux proc=E9dures =E9v=E8nementielles, mais=20
elles ne se d=E9clenchent que lorsque l'on change de=20
classeur dans Excel :
Private Sub App_WindowActivate(ByVal Wb As Excel.Workbook,=20
ByVal Wn As Excel.Window)
MsgBox "WindowActivate " & Wb.Name
End Sub
Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
MsgBox "WorkbookActivate " & Wb.Name
End Sub
Voici donc ma question : est-ce que ce que je cherche =E0=20
faire est possible ? Si oui, comment ?
Merci d'avoir pris de votre temps pour me lire :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Frédéric Sigonneau
Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet). Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour tout le monde,
Je cherche à savoir s'il y a moyen de détecter quand Excel est "ré-activé" : c'est à dire lorsque l'on retourne dans la fenêtre excel après avoir fermé une autre application (ou après avoir fait un ALT+TAB depuis une autre application).
J'ai essayé ces deux procédures évènementielles, mais elles ne se déclenchent que lorsque l'on change de classeur dans Excel :
Private Sub App_WindowActivate(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window) MsgBox "WindowActivate " & Wb.Name End Sub
Private Sub App_WorkbookActivate(ByVal Wb As Workbook) MsgBox "WorkbookActivate " & Wb.Name End Sub
Voici donc ma question : est-ce que ce que je cherche à faire est possible ? Si oui, comment ?
Merci d'avoir pris de votre temps pour me lire :-)
Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne
déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être envisageables...
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour tout le monde,
Je cherche à savoir s'il y a moyen de détecter quand Excel
est "ré-activé" : c'est à dire lorsque l'on retourne dans
la fenêtre excel après avoir fermé une autre application
(ou après avoir fait un ALT+TAB depuis une autre
application).
J'ai essayé ces deux procédures évènementielles, mais
elles ne se déclenchent que lorsque l'on change de
classeur dans Excel :
Private Sub App_WindowActivate(ByVal Wb As Excel.Workbook,
ByVal Wn As Excel.Window)
MsgBox "WindowActivate " & Wb.Name
End Sub
Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
MsgBox "WorkbookActivate " & Wb.Name
End Sub
Voici donc ma question : est-ce que ce que je cherche à
faire est possible ? Si oui, comment ?
Merci d'avoir pris de votre temps pour me lire :-)
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet). Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour tout le monde,
Je cherche à savoir s'il y a moyen de détecter quand Excel est "ré-activé" : c'est à dire lorsque l'on retourne dans la fenêtre excel après avoir fermé une autre application (ou après avoir fait un ALT+TAB depuis une autre application).
J'ai essayé ces deux procédures évènementielles, mais elles ne se déclenchent que lorsque l'on change de classeur dans Excel :
Private Sub App_WindowActivate(ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window) MsgBox "WindowActivate " & Wb.Name End Sub
Private Sub App_WorkbookActivate(ByVal Wb As Workbook) MsgBox "WorkbookActivate " & Wb.Name End Sub
Voici donc ma question : est-ce que ce que je cherche à faire est possible ? Si oui, comment ?
Merci d'avoir pris de votre temps pour me lire :-)
bn
Bonjour,
Si je cherche à détecter quand Excel est ré-activé, c'est parce que lorsqu'une UserForm (avec des textbox) s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab) et que l'on revient dans Excel, on ne voit plus le curseur clignoter. J'ai constaté qu'il était toujours sur le même TextBox en appuyant sur BackSpace, mais c'est la seule touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible, qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine----- Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne
déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Si je cherche à détecter quand Excel est ré-activé, c'est
parce que lorsqu'une UserForm (avec des textbox)
s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab)
et que l'on revient dans Excel, on ne voit plus le curseur
clignoter. J'ai constaté qu'il était toujours sur le même
TextBox en appuyant sur BackSpace, mais c'est la seule
touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre
le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible,
qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine-----
Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet
Application ne
déclenche aucun événement qui s'applique à lui-même (voir
l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être
envisageables...
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Si je cherche à détecter quand Excel est ré-activé, c'est parce que lorsqu'une UserForm (avec des textbox) s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab) et que l'on revient dans Excel, on ne voit plus le curseur clignoter. J'ai constaté qu'il était toujours sur le même TextBox en appuyant sur BackSpace, mais c'est la seule touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible, qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine----- Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne
déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
bn
Rebonjour,
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche sur le TextBox à part backspace, l'évènement KeyPress répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) TextBox1.SetFocus End Sub
Mais cela ne change rien; ce qui est logique dans le sens où si backspace fonctionne, c'est que le focus est déjà sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) CommandButton1.SetFocus TextBox1.SetFocus End Sub
Et là, je suis bien content, puisque cela marche à la perfection :)
Je ne m'explique toujours pas comment le focus peut "s'altérer", mais puisque désormais je sais comment le faire revenir dans le droit chemin ;) cela ne m'empêchera plus de dormir ^^
Encore merci ! @+.
Rebonjour,
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche
sur le TextBox à part backspace, l'évènement KeyPress
répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
TextBox1.SetFocus
End Sub
Mais cela ne change rien; ce qui est logique dans le sens
où si backspace fonctionne, c'est que le focus est déjà
sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai
pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
CommandButton1.SetFocus
TextBox1.SetFocus
End Sub
Et là, je suis bien content, puisque cela marche à la
perfection :)
Je ne m'explique toujours pas comment le focus
peut "s'altérer", mais puisque désormais je sais comment
le faire revenir dans le droit chemin ;) cela ne
m'empêchera plus de dormir ^^
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche sur le TextBox à part backspace, l'évènement KeyPress répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) TextBox1.SetFocus End Sub
Mais cela ne change rien; ce qui est logique dans le sens où si backspace fonctionne, c'est que le focus est déjà sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) CommandButton1.SetFocus TextBox1.SetFocus End Sub
Et là, je suis bien content, puisque cela marche à la perfection :)
Je ne m'explique toujours pas comment le focus peut "s'altérer", mais puisque désormais je sais comment le faire revenir dans le droit chemin ;) cela ne m'empêchera plus de dormir ^^
Encore merci ! @+.
Frédéric Sigonneau
Bonjour,
Je ne vois pas de solution simple à ce problème. Il n'est pas très contraignant de recliquer dans le Textbox1 pour lui redonner le focus mais je comprends bien que tu puisses souhaiter qq chose d'entièrement automatique... Peut-être, à l'aide d'un timer et de fonctions API, serait-il possible de détecter le moment où la fenêtre d'Excel redevient la fenêtre qui a le focus dans Windows, mais ça me paraît très lourd à mettre en oeuvre pour un résultat à mon avis non garanti (il n'est pas possible de programmer des threads avec VBA et les timers finissent toujours par interférer avec les autres tâches, surtout s'ils doivent fonctionner avec des intervalles courts).
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Si je cherche à détecter quand Excel est ré-activé, c'est parce que lorsqu'une UserForm (avec des textbox) s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab) et que l'on revient dans Excel, on ne voit plus le curseur clignoter. J'ai constaté qu'il était toujours sur le même TextBox en appuyant sur BackSpace, mais c'est la seule touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible, qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine----- Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne
déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je ne vois pas de solution simple à ce problème. Il n'est pas très contraignant
de recliquer dans le Textbox1 pour lui redonner le focus mais je comprends bien
que tu puisses souhaiter qq chose d'entièrement automatique...
Peut-être, à l'aide d'un timer et de fonctions API, serait-il possible de
détecter le moment où la fenêtre d'Excel redevient la fenêtre qui a le focus
dans Windows, mais ça me paraît très lourd à mettre en oeuvre pour un résultat à
mon avis non garanti (il n'est pas possible de programmer des threads avec VBA
et les timers finissent toujours par interférer avec les autres tâches, surtout
s'ils doivent fonctionner avec des intervalles courts).
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Si je cherche à détecter quand Excel est ré-activé, c'est
parce que lorsqu'une UserForm (avec des textbox)
s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab)
et que l'on revient dans Excel, on ne voit plus le curseur
clignoter. J'ai constaté qu'il était toujours sur le même
TextBox en appuyant sur BackSpace, mais c'est la seule
touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre
le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible,
qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine-----
Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet
Application ne
déclenche aucun événement qui s'applique à lui-même (voir
l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être
envisageables...
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Je ne vois pas de solution simple à ce problème. Il n'est pas très contraignant de recliquer dans le Textbox1 pour lui redonner le focus mais je comprends bien que tu puisses souhaiter qq chose d'entièrement automatique... Peut-être, à l'aide d'un timer et de fonctions API, serait-il possible de détecter le moment où la fenêtre d'Excel redevient la fenêtre qui a le focus dans Windows, mais ça me paraît très lourd à mettre en oeuvre pour un résultat à mon avis non garanti (il n'est pas possible de programmer des threads avec VBA et les timers finissent toujours par interférer avec les autres tâches, surtout s'ils doivent fonctionner avec des intervalles courts).
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Si je cherche à détecter quand Excel est ré-activé, c'est parce que lorsqu'une UserForm (avec des textbox) s'affiche, le curseur clignote dans la première TextBox.
Or, si l'on bascule dans d'autres applications (alt+tab) et que l'on revient dans Excel, on ne voit plus le curseur clignoter. J'ai constaté qu'il était toujours sur le même TextBox en appuyant sur BackSpace, mais c'est la seule touche qui fonctionne...
Je voulais donc faire un TextBox#.SetFocus pour remettre le curseur correctement lorsqu'Excel était ré-activé.
Puisque tu penses que mon approche est impossible, qu'envisagerais-tu pour résoudre mon problème ?
Merci et @+.
-----Message d'origine----- Bonjour,
Ce que tu cherches à faire est, AMA, impossible : l'objet Application ne
déclenche aucun événement qui s'applique à lui-même (voir l'aide sur cet objet).
Selon ton objectif, d'autres approches sont peut-être envisageables...
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
michdenis
Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une fenêtre non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans celui-ci est toujours présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre des tâches à l'aide de la souris.
Salutations!
"bn" a écrit dans le message de news:024001c35d8c$822e68b0$ Rebonjour,
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche sur le TextBox à part backspace, l'évènement KeyPress répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) TextBox1.SetFocus End Sub
Mais cela ne change rien; ce qui est logique dans le sens où si backspace fonctionne, c'est que le focus est déjà sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) CommandButton1.SetFocus TextBox1.SetFocus End Sub
Et là, je suis bien content, puisque cela marche à la perfection :)
Je ne m'explique toujours pas comment le focus peut "s'altérer", mais puisque désormais je sais comment le faire revenir dans le droit chemin ;) cela ne m'empêchera plus de dormir ^^
Encore merci ! @+.
Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une fenêtre
non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre des tâches
à l'aide de la souris.
Salutations!
"bn" <none@none.com> a écrit dans le message de news:024001c35d8c$822e68b0$a001280a@phx.gbl...
Rebonjour,
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche
sur le TextBox à part backspace, l'évènement KeyPress
répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
TextBox1.SetFocus
End Sub
Mais cela ne change rien; ce qui est logique dans le sens
où si backspace fonctionne, c'est que le focus est déjà
sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai
pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
CommandButton1.SetFocus
TextBox1.SetFocus
End Sub
Et là, je suis bien content, puisque cela marche à la
perfection :)
Je ne m'explique toujours pas comment le focus
peut "s'altérer", mais puisque désormais je sais comment
le faire revenir dans le droit chemin ;) cela ne
m'empêchera plus de dormir ^^
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une fenêtre non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans celui-ci est toujours présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre des tâches à l'aide de la souris.
Salutations!
"bn" a écrit dans le message de news:024001c35d8c$822e68b0$ Rebonjour,
J'ai finalement suivi ton conseil et changé d'approche :p
J'ai constaté que bien qu'en apparence plus rien ne marche sur le TextBox à part backspace, l'évènement KeyPress répondait à toutes les touches...
J'ai donc essayé ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) TextBox1.SetFocus End Sub
Mais cela ne change rien; ce qui est logique dans le sens où si backspace fonctionne, c'est que le focus est déjà sur le TextBox.
Donc, pour remettre le curseur "en mode normal", j'ai pensé à ceci :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) CommandButton1.SetFocus TextBox1.SetFocus End Sub
Et là, je suis bien content, puisque cela marche à la perfection :)
Je ne m'explique toujours pas comment le focus peut "s'altérer", mais puisque désormais je sais comment le faire revenir dans le droit chemin ;) cela ne m'empêchera plus de dormir ^^
Encore merci ! @+.
bn
Bonjour michdenis,
Fenêtre modale et non-modale ? Jamais entendu parler, va falloir que je me renseigne ^_^'
En tout cas, merci pour cette précision TRES interessante :)
@+
-----Message d'origine----- Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une
fenêtre
non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans
celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre
des tâches
à l'aide de la souris.
Salutations!
Bonjour michdenis,
Fenêtre modale et non-modale ? Jamais entendu parler, va
falloir que je me renseigne ^_^'
En tout cas, merci pour cette précision TRES
interessante :)
@+
-----Message d'origine-----
Bonjour Bn,
Une petite précision, le phénomène que tu observes est
vrai seulement si ton formulaire est affiché dans une
fenêtre
non-modale. Dans une fenêtre modale, le focus du
contrôle "textbox" et le clignotement du curseur dans
celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit
par Alt+ tab ou par la sélection de l'icône dans la barre
Fenêtre modale et non-modale ? Jamais entendu parler, va falloir que je me renseigne ^_^'
En tout cas, merci pour cette précision TRES interessante :)
@+
-----Message d'origine----- Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une
fenêtre
non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans
celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre
des tâches
à l'aide de la souris.
Salutations!
michdenis
Bonjour BN,
À partir de la version excel 2000, il est possible de faire afficher un formulaire dans excel dans une fenêtre non modale ..
Fenêtre modale : tu dois obligatoirement répondre aux demandes de la fenêtre puisque l'application Excel n'est pas disponible que ce soit pour sélectionner une cellule ou passer une commande via le menu de l'application excel.
Une fenêtre non modale est l'inverse ou même si le formulaire est affiché, l'application demeure toujours accessible et ce, même si le formulaire est affiché
Si tu as une version excel 97, le site de Laurent Longre te permet avec l'utilisation d'api, d'obtenir le même résultat.
Salutations!
"bn" a écrit dans le message de news:001301c35db7$cec6f6d0$ Bonjour michdenis,
Fenêtre modale et non-modale ? Jamais entendu parler, va falloir que je me renseigne ^_^'
En tout cas, merci pour cette précision TRES interessante :)
@+
-----Message d'origine----- Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une
fenêtre
non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans
celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre
des tâches
à l'aide de la souris.
Salutations!
Bonjour BN,
À partir de la version excel 2000, il est possible de faire afficher un formulaire dans excel dans une fenêtre non modale ..
Fenêtre modale : tu dois obligatoirement répondre aux demandes de la fenêtre puisque l'application Excel n'est pas disponible
que ce soit pour sélectionner une cellule ou passer une commande via le menu de l'application excel.
Une fenêtre non modale est l'inverse ou même si le formulaire est affiché, l'application demeure toujours accessible et ce,
même si le formulaire est affiché
À partir de la version excel 2000, il est possible de faire afficher un formulaire dans excel dans une fenêtre non modale ..
Fenêtre modale : tu dois obligatoirement répondre aux demandes de la fenêtre puisque l'application Excel n'est pas disponible que ce soit pour sélectionner une cellule ou passer une commande via le menu de l'application excel.
Une fenêtre non modale est l'inverse ou même si le formulaire est affiché, l'application demeure toujours accessible et ce, même si le formulaire est affiché
Si tu as une version excel 97, le site de Laurent Longre te permet avec l'utilisation d'api, d'obtenir le même résultat.
Salutations!
"bn" a écrit dans le message de news:001301c35db7$cec6f6d0$ Bonjour michdenis,
Fenêtre modale et non-modale ? Jamais entendu parler, va falloir que je me renseigne ^_^'
En tout cas, merci pour cette précision TRES interessante :)
@+
-----Message d'origine----- Bonjour Bn,
Une petite précision, le phénomène que tu observes est vrai seulement si ton formulaire est affiché dans une
fenêtre
non-modale. Dans une fenêtre modale, le focus du contrôle "textbox" et le clignotement du curseur dans
celui-ci est toujours
présent lorsque l'on revient à l'application que ce soit par Alt+ tab ou par la sélection de l'icône dans la barre
des tâches
à l'aide de la souris.
Salutations!
bn
Bonjour michdenis,
Pour être certain de ne pas dire de bêtises, je viens de reproduire ta manip.
Donc je confirme que lorsque je reviens à Excel, je ne vois plus de curseur clignoter (cf autres messages pour savoir ce qui se passe exactement).
J'ai observé ce phénomène étrange avec Excel 2000, sous Windows NT 4 et 2000 (au cas où ce serait l'OS le responsable...)
Ce n'est pas si grave que cela (puisque j'ai trouvé comment contourner le problème, cf autres messages), mais j'aimerais quand même savoir pourquoi cela marche bien avec toi...
@+
-----Message d'origine----- Bonjour Bn,
Le test que j'ai fait consistait à afficher un formulaire avec l'aide de la commande suivante : Userform1.Show
Et pendant que le formulaire est ouvert, ouvrir une autre application comme Notepad.exe, saisir du texte et revenir
avec le
raccourci clavier Alt+Tab.
Lorsque je reviens à l'application Excel, le curseur est toujours clignotant dans le textbox du début et il est
visible.
Ce type de comportement est le propre d'une fenêtre modale. Pourquoi tu n'obtiens pas ce résultat... je ne
sais pas .. il
faudrait peut être que tu décrives ce que tu fais comme manipulation.
Je ne crois pas qu'il y ait une option à cocher pour obtenir ce résultat.
Salutations!
Bonjour michdenis,
Pour être certain de ne pas dire de bêtises, je viens de
reproduire ta manip.
Donc je confirme que lorsque je reviens à Excel, je ne
vois plus de curseur clignoter (cf autres messages pour
savoir ce qui se passe exactement).
J'ai observé ce phénomène étrange avec Excel 2000, sous
Windows NT 4 et 2000 (au cas où ce serait l'OS le
responsable...)
Ce n'est pas si grave que cela (puisque j'ai trouvé
comment contourner le problème, cf autres messages), mais
j'aimerais quand même savoir pourquoi cela marche bien
avec toi...
@+
-----Message d'origine-----
Bonjour Bn,
Le test que j'ai fait consistait à afficher un formulaire
avec l'aide de la commande suivante : Userform1.Show
Et pendant que le formulaire est ouvert, ouvrir une autre
application comme Notepad.exe, saisir du texte et revenir
avec le
raccourci clavier Alt+Tab.
Lorsque je reviens à l'application Excel, le curseur est
toujours clignotant dans le textbox du début et il est
visible.
Ce type de comportement est le propre d'une fenêtre
modale. Pourquoi tu n'obtiens pas ce résultat... je ne
sais pas .. il
faudrait peut être que tu décrives ce que tu fais comme
manipulation.
Je ne crois pas qu'il y ait une option à cocher pour
obtenir ce résultat.
Pour être certain de ne pas dire de bêtises, je viens de reproduire ta manip.
Donc je confirme que lorsque je reviens à Excel, je ne vois plus de curseur clignoter (cf autres messages pour savoir ce qui se passe exactement).
J'ai observé ce phénomène étrange avec Excel 2000, sous Windows NT 4 et 2000 (au cas où ce serait l'OS le responsable...)
Ce n'est pas si grave que cela (puisque j'ai trouvé comment contourner le problème, cf autres messages), mais j'aimerais quand même savoir pourquoi cela marche bien avec toi...
@+
-----Message d'origine----- Bonjour Bn,
Le test que j'ai fait consistait à afficher un formulaire avec l'aide de la commande suivante : Userform1.Show
Et pendant que le formulaire est ouvert, ouvrir une autre application comme Notepad.exe, saisir du texte et revenir
avec le
raccourci clavier Alt+Tab.
Lorsque je reviens à l'application Excel, le curseur est toujours clignotant dans le textbox du début et il est
visible.
Ce type de comportement est le propre d'une fenêtre modale. Pourquoi tu n'obtiens pas ce résultat... je ne
sais pas .. il
faudrait peut être que tu décrives ce que tu fais comme manipulation.
Je ne crois pas qu'il y ait une option à cocher pour obtenir ce résultat.