Verifier si une feuille est bien celle sur laquel on se trouve

Résolu
Aphex Twin Messages postés 27 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 8 mai 2009 - 29 août 2006 à 19:32
Aphex Twin Messages postés 27 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 8 mai 2009 - 30 août 2006 à 14:44
Bonjour,

Je cherche une syntaxe (ou une propriété de feuille) qui permettre de me dire si une feuille est bien la feuille sur laquelle se trouve actuellement l'utilisateur. J'explique:

J'ai une feuille FormMain sur laquel survient tres souvent la ligne "Textbox.SetFocus". Mais mon programme possède également des feuilles appelée en vbModal. Ce qui fait que si un SetFocus survient pendant que je suis sur une feuille Modale, mon programme plante. J'aimerai alors faire une condition qui vérifie si l'utilisateur se trouve bien sur "FormMain" avant de faire le Textbox.SetFocus.

Du genre:
If FormMain = (la feuille où se trouve actuellement l'utilisateur) Then Textbox.SetFocus

Si il y'a une syntaxe ou une proptiété qui donne ce genre d'info, je ne la connais pas :(

6 réponses

PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
29 août 2006 à 21:03
je t'ai mis le lien dans ton précédent topic....

code à partir de FormMain
if FormIsVisible
(FormMain) then Textbox.SetFocus

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
29 août 2006 à 23:12
Salut, je ne comprend pas ton problème. Que veux tu dire par "si un SetFocus survient ...." ?
C'est toi qui écrit ton prog, non ? Donc tu dois être capable de le maîtriser et de savoir quand tu as codé un setfocus. Il ne "survient" pas comme ça par l'opération du saint-esprit.
D'autre part, une form affichée en Modal, c'est comme une msgbox, le code qui l'a ouverte est gelé tant que cette form n'est pas fermée.
C'est bien en VB6 que tu prog ? Pas en VBA ?
0
Aphex Twin Messages postés 27 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 8 mai 2009
29 août 2006 à 23:20
Dans mon cas, le saint-esprit ce sont des client connecté à mon application qui est une application réseau. Ma feuille FormMain continue de recevoir des instructions en arriere plan et doit y répondre.. pendant que l'utilisateur peut se trouver dans une feuille modale. Le seul probleme c'est cette instruction SetFocus qui ne soit pas se faire si l'utilisateur se trouve sur l'autre feuille.
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
29 août 2006 à 23:39
J'ai développé de nombreuses applications qui tournent en réseau et le seul problème que j'ai eu à gérer était l'accès aux bases de données communes.
Même si l'exécutable est le même pour tous, il est exécuté sur chaque poste sans interférence avec les autres (à part les actions sur les bases de données communes).
Explique moi de quelle manière la formMain de chaque utilisateur peut recevoir des instructions en arrière-plan. Comment cette formMain continue-t-elle à recevoir des instructions ?
J'avoue qu'il y a quelque chose que je ne saisis pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 22
30 août 2006 à 00:47
Au pire aller, tu pourrais mettre une gestion d'erreur, non ?

Si le numéro d'erreur est 5, exit sub ou quelque chose du genre

MPi
0
Aphex Twin Messages postés 27 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 8 mai 2009
30 août 2006 à 14:44
Merci à nouveau, PCPT. Je me suis inspiré de ta solution pour faire encore plus simple. J'ai juste ajouté une variable booleenne pour chacune de mes feuilles appelées en modal (il n'y en a que 2). Lors que la feuille modale est appelée, la variable concernée est définie sur "True". Lorsqu'on ferme la feuille modale, la variable concernée est définie sur "False".

Et donc..
If Feuille1 = False And Feuille 2 = False then textbox.setfocus
Et le tour est joué

Dolphin Boy, on peut tres bien avoir programmer de nombreuse applications réseau, ce n'est pas pour ca que les applications sont toujours les mêmes avec les mêmes fonctionnalités. J'ai trouvé inutile d'expliquer pourquoi mon application fait un setfocus.. elle fait des setfocus, point. Le language de programmation permet justement de gerer un évenement quel qu'il soit peut importe le but de l'application. J'avais donc besoin d'une manière logique pour gerer ce setfocus, plustot que de le faire sans logique et supprimer ce setfocus.
0
Rejoignez-nous