OVH Cloud OVH Cloud

Enlever le focus au user_form

9 réponses
Avatar
GILTAIRE Jean-Marie
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form s'affiche. Je
voudrais que ce user_form reste affiché mais que le focus aille sur la
feuille en second plan sans devoir cliquer dessus pour ce faire. J'ai essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie

9 réponses

Avatar
Michel HOLDERITH
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form s'affiche.
Je

voudrais que ce user_form reste affiché mais que le focus aille sur la
feuille en second plan sans devoir cliquer dessus pour ce faire. J'ai
essayé

le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie




Avatar
GILTAIRE Jean-Marie
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument ou appel
de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus aille sur la
feuille en second plan sans devoir cliquer dessus pour ce faire. J'ai
essayé

le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie








Avatar
Michel HOLDERITH
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de ta
fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument ou
appel

de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus aille sur la
feuille en second plan sans devoir cliquer dessus pour ce faire. J'ai
essayé

le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie












Avatar
GILTAIRE Jean-Marie
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de ta
fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument ou
appel

de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus aille sur
la




feuille en second plan sans devoir cliquer dessus pour ce faire.
J'ai




essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie
















Avatar
Michel HOLDERITH
J'ai teste tout fonctionne chez moi.......
as-tu teste cela avec ton propre userform ou l'as-tu teste dans un nouveau
document vierge ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4f02$0$29121$
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de ta
fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument ou
appel

de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus aille
sur





la
feuille en second plan sans devoir cliquer dessus pour ce faire.
J'ai




essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie




















Avatar
GILTAIRE Jean-Marie
Je l'ai testé avec mon propre userform.
Je recommence : dans mon classeur "horaire", j'ai une feuille de calcul par
mois. Ces feuilles sont nommées "Janvier2004", "Février2004", etc... J'ai
créé un userform "Legendes". Sur l'événement Activate de ma feuille
"Janvier2004" par exemple, j'ai mis le code suivant :
Private Sub Worksheet_Activate()
Legendes.Show
Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

Mon userform s'affiche bien lors de l'activation de ma feuille mais je dois
cliquer sur cette feuille pour lui donner le focus. J'ai bien essayé
d'ajouter en fin de code "Sheets("Janvier2004").select" puis
"Range("G7").select" mais rien n'y fait, le userform garde le focus.
Peut-être n'y a-t-il pas moyen de faire ce transfert de focus
automatiquement. Tant pis ! Je voulais m'éviter de toujours passer du
clavier à la souris...

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
J'ai teste tout fonctionne chez moi.......
as-tu teste cela avec ton propre userform ou l'as-tu teste dans un nouveau
document vierge ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4f02$0$29121$
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de
ta



fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument
ou




appel
de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message
de




news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in message
news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus aille
sur





la
feuille en second plan sans devoir cliquer dessus pour ce faire.
J'ai




essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie
























Avatar
gb
Bonjour.
Essaie avec la propriété vbModeless
et la commande AppActivate Application.Caption

Private Sub Worksheet_Activate()
Legendes.Show vbModeless
AppActivate Application.Caption

Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

"GILTAIRE Jean-Marie" wrote in message
news:3faa54e9$0$16124$
Je l'ai testé avec mon propre userform.
Je recommence : dans mon classeur "horaire", j'ai une feuille de calcul
par

mois. Ces feuilles sont nommées "Janvier2004", "Février2004", etc... J'ai
créé un userform "Legendes". Sur l'événement Activate de ma feuille
"Janvier2004" par exemple, j'ai mis le code suivant :
Private Sub Worksheet_Activate()
Legendes.Show
Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

Mon userform s'affiche bien lors de l'activation de ma feuille mais je
dois

cliquer sur cette feuille pour lui donner le focus. J'ai bien essayé
d'ajouter en fin de code "Sheets("Janvier2004").select" puis
"Range("G7").select" mais rien n'y fait, le userform garde le focus.
Peut-être n'y a-t-il pas moyen de faire ce transfert de focus
automatiquement. Tant pis ! Je voulais m'éviter de toujours passer du
clavier à la souris...

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
J'ai teste tout fonctionne chez moi.......
as-tu teste cela avec ton propre userform ou l'as-tu teste dans un
nouveau


document vierge ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4f02$0$29121$
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de
ta



fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument
ou




appel
de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message
de




news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in
message






news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus
aille







sur
la
feuille en second plan sans devoir cliquer dessus pour ce
faire.







J'ai
essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie




























Avatar
Michel HOLDERITH
Salut,
Dans une macro
Sub essai()
Sheets("Sheet1").Select
End Sub

dans la feuille :
Private Sub Worksheet_Activate()
UserForm1.Show False
AppActivate "Microsoft Excel - Book1"
End Sub

et ca marche....
donnes ton e-mail je t'envois mon exemple.....
@+
Michel




"GILTAIRE Jean-Marie" wrote in message
news:3faa54e9$0$16124$
Je l'ai testé avec mon propre userform.
Je recommence : dans mon classeur "horaire", j'ai une feuille de calcul
par

mois. Ces feuilles sont nommées "Janvier2004", "Février2004", etc... J'ai
créé un userform "Legendes". Sur l'événement Activate de ma feuille
"Janvier2004" par exemple, j'ai mis le code suivant :
Private Sub Worksheet_Activate()
Legendes.Show
Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

Mon userform s'affiche bien lors de l'activation de ma feuille mais je
dois

cliquer sur cette feuille pour lui donner le focus. J'ai bien essayé
d'ajouter en fin de code "Sheets("Janvier2004").select" puis
"Range("G7").select" mais rien n'y fait, le userform garde le focus.
Peut-être n'y a-t-il pas moyen de faire ce transfert de focus
automatiquement. Tant pis ! Je voulais m'éviter de toujours passer du
clavier à la souris...

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
J'ai teste tout fonctionne chez moi.......
as-tu teste cela avec ton propre userform ou l'as-tu teste dans un
nouveau


document vierge ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4f02$0$29121$
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom de
ta



fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai depuis
l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur "argument
ou




appel
de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le message
de




news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in
message






news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un user_form
s'affiche.


Je
voudrais que ce user_form reste affiché mais que le focus
aille







sur
la
feuille en second plan sans devoir cliquer dessus pour ce
faire.







J'ai
essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie




























Avatar
GILTAIRE Jean-Marie
Bonjour,
Un grand merci. Ca fonctionne.

Jean-Marie

"gb" a écrit dans le message de
news:
Bonjour.
Essaie avec la propriété vbModeless
et la commande AppActivate Application.Caption

Private Sub Worksheet_Activate()
Legendes.Show vbModeless
AppActivate Application.Caption

Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

"GILTAIRE Jean-Marie" wrote in message
news:3faa54e9$0$16124$
Je l'ai testé avec mon propre userform.
Je recommence : dans mon classeur "horaire", j'ai une feuille de calcul
par

mois. Ces feuilles sont nommées "Janvier2004", "Février2004", etc...
J'ai


créé un userform "Legendes". Sur l'événement Activate de ma feuille
"Janvier2004" par exemple, j'ai mis le code suivant :
Private Sub Worksheet_Activate()
Legendes.Show
Legendes.Top = 0
Legendes.Left = ActiveWindow.Width - Legendes.Width
End Sub

Mon userform s'affiche bien lors de l'activation de ma feuille mais je
dois

cliquer sur cette feuille pour lui donner le focus. J'ai bien essayé
d'ajouter en fin de code "Sheets("Janvier2004").select" puis
"Range("G7").select" mais rien n'y fait, le userform garde le focus.
Peut-être n'y a-t-il pas moyen de faire ce transfert de focus
automatiquement. Tant pis ! Je voulais m'éviter de toujours passer du
clavier à la souris...

"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
J'ai teste tout fonctionne chez moi.......
as-tu teste cela avec ton propre userform ou l'as-tu teste dans un
nouveau


document vierge ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4f02$0$29121$
Euh... ça ne fonctionne toujours pas. Il me met le même message.

"Michel HOLDERITH" <#nospam# a écrit dans le message
de




news:
Salut,

Sub essai()
UserForm1.Show False
AppActivate "Microsoft Excel - Book3"
End Sub

pour que ca marche, remplace "Microsoft Excel - Book3" par le nom
de





ta
fenetre excel et passe par tool-macro-run-essai
ou tu crees un bouton sur ta feuille reliant la macro "essai".
Ce que je ne comprend pas c'est que si tu lance la sub essai
depuis





l'environnement VBA le focus reste sur le userform.......
@+
Michel.
P.S.:as-tu bien declare la variable MyAppID ?

"GILTAIRE Jean-Marie" wrote in message
news:3faa4578$0$30733$
Cela ne fonctionne pas. Il m'indique un message d'erreur
"argument






ou
appel
de procédure incorrect" sur AppActivate MyAppID.

"Michel HOLDERITH" <#nospam# a écrit dans le
message






de
news:
Salut,
Dans un module :

Sub essai()
Dim MyAppID
MyAppID = "Microsoft Excel - Book2"
UserForm1.Show False
AppActivate MyAppID
End Sub

Ca te convient ?
@+
Michel.

"GILTAIRE Jean-Marie" wrote in
message






news:3faa3d22$0$16117$
Bonjour,
Sur l'événement activate d'une feuille de calcul, un
user_form








s'affiche.
Je
voudrais que ce user_form reste affiché mais que le focus
aille







sur
la
feuille en second plan sans devoir cliquer dessus pour ce
faire.







J'ai
essayé
le select mais ça ne fonctionne pas.
Quelqu'un a-t-il une solution, SVP ?

Merci d'avance.

Jean-Marie