Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" <i@v> a écrit dans le message de news:
Ovkc4BWLKHA.2408@TK2MSFTNGP04.phx.gbl...
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" <i@v> a écrit dans le message de news:
Ovkc4BWLKHA.2408@TK2MSFTNGP04.phx.gbl...
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" <i@v> a écrit dans le message de news:
Ovkc4BWLKHA.2408@TK2MSFTNGP04.phx.gbl...
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction "UserForm1.Show
0" est sensée rendre l'userform non modal elle aussi... d'ailleurs si je
clique sur une cellule de la feuille de calcul, le focus passe à la feuille
et je peux travailler sur Excel normalement. Le problème est seulement lors
de l'affichage de l'userform, il s'affiche correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonsoir,
Essaye de réactiver Excel juste après le lancement de ton userform. Chez
moi (Excel 2003) cela semble donner le résultat attendu (le userform perd
le focus) :
Sub essai()
UserForm1.Show 0
AppActivate "Microsoft Excel"
End Sub
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Thierry.E a écrit :Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction
"UserForm1.Show 0" est sensée rendre l'userform non modal elle aussi...
d'ailleurs si je clique sur une cellule de la feuille de calcul, le focus
passe à la feuille et je peux travailler sur Excel normalement. Le
problème est seulement lors de l'affichage de l'userform, il s'affiche
correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonsoir,
Essaye de réactiver Excel juste après le lancement de ton userform. Chez
moi (Excel 2003) cela semble donner le résultat attendu (le userform perd
le focus) :
Sub essai()
UserForm1.Show 0
AppActivate "Microsoft Excel"
End Sub
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Thierry.E a écrit :
Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction
"UserForm1.Show 0" est sensée rendre l'userform non modal elle aussi...
d'ailleurs si je clique sur une cellule de la feuille de calcul, le focus
passe à la feuille et je peux travailler sur Excel normalement. Le
problème est seulement lors de l'affichage de l'userform, il s'affiche
correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" <i@v> a écrit dans le message de news:
Ovkc4BWLKHA.2408@TK2MSFTNGP04.phx.gbl...
bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonsoir,
Essaye de réactiver Excel juste après le lancement de ton userform. Chez
moi (Excel 2003) cela semble donner le résultat attendu (le userform perd
le focus) :
Sub essai()
UserForm1.Show 0
AppActivate "Microsoft Excel"
End Sub
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Thierry.E a écrit :Merci pour ton aide,
Oui, j'ai mis la propriété Showmodal à false dans les propriétés de
l'userform. De plus d'après l'aide de Excel, l'instruction
"UserForm1.Show 0" est sensée rendre l'userform non modal elle aussi...
d'ailleurs si je clique sur une cellule de la feuille de calcul, le focus
passe à la feuille et je peux travailler sur Excel normalement. Le
problème est seulement lors de l'affichage de l'userform, il s'affiche
correctement mais prend le focus.
J'en perd mon latin...
Thierry
"isabelle" a écrit dans le message de news:bonjour Thierry,
as tu mit la propriété ShowModal à false ?
isabelle
Thierry.E a écrit :Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm (en haut à droite) qui contient des boutons à cliquer, ce
Userform doit être toujours affiché. Pas de soucis pour configurer le
UserForm, mon problème est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus et non la feuille en elle même. Ce qui veut dire que si je veux
travailler sur une cellule de la feuille, je dois d'abord cliquer sur
cette feuille pour lui faire prendre le focus. Bref, je ne sais pas
comment faire perdre le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonjour Thierry,
Si tu veux que ta cellule soit active, et que tu puisse taper par exemple
directement dedans à la suite de l'ouverture de ton formulaire, voici
un bout de procédure de Michel Perron
'Déclaration des API dans le haut d'un module standard
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow& Lib "user32" (ByVal hwnd&, ByVal
wCmd&)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetWindowText& Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal aint&)
Private Const mconMAXLEN = 255
'-------------------------------
Sub Ouvrir_Le_Formuaire()
Dim hwnd&, Style&, Title$, i&
hwnd = GetWindow(GetDesktopWindow(), 5)
'Ouverture de ton formulaire
UserForm1.Show 0 'Nom à adapter
Do While hwnd
Title = GetCaption(hwnd)
If Len(Title) Then
If GetWindowLong(hwnd, -16) And &H10000000 Then
If InStr(1, Title, Application.Caption, 1) Then
AppActivate Title
'La feuille et l'adresse où tu veux te retrouver
'dans ton application après avoir ouvert ton formulaire
'Si tu as plusieurs classeurs ouverts, tu devras spécifié
'le nom du classeur avant !
With Worksheets("Feuil2")
Application.Goto .Range("G25")
End With
Exit Sub
End If
End If
End If
hwnd = GetWindow(hwnd, 2)
Loop
End Sub
'----------------------------------------------
Function GetCaption(hwnd&) As String
Dim i%, Buffer$: Buffer = String$(254, 0)
i = GetWindowText(hwnd, Buffer, 255)
If i Then GetCaption = Left$(Buffer, i)
End Function
'----------------------------------------------
"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :
#
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit
être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonjour Thierry,
Si tu veux que ta cellule soit active, et que tu puisse taper par exemple
directement dedans à la suite de l'ouverture de ton formulaire, voici
un bout de procédure de Michel Perron
'Déclaration des API dans le haut d'un module standard
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow& Lib "user32" (ByVal hwnd&, ByVal
wCmd&)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetWindowText& Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal aint&)
Private Const mconMAXLEN = 255
'-------------------------------
Sub Ouvrir_Le_Formuaire()
Dim hwnd&, Style&, Title$, i&
hwnd = GetWindow(GetDesktopWindow(), 5)
'Ouverture de ton formulaire
UserForm1.Show 0 'Nom à adapter
Do While hwnd
Title = GetCaption(hwnd)
If Len(Title) Then
If GetWindowLong(hwnd, -16) And &H10000000 Then
If InStr(1, Title, Application.Caption, 1) Then
AppActivate Title
'La feuille et l'adresse où tu veux te retrouver
'dans ton application après avoir ouvert ton formulaire
'Si tu as plusieurs classeurs ouverts, tu devras spécifié
'le nom du classeur avant !
With Worksheets("Feuil2")
Application.Goto .Range("G25")
End With
Exit Sub
End If
End If
End If
hwnd = GetWindow(hwnd, 2)
Loop
End Sub
'----------------------------------------------
Function GetCaption(hwnd&) As String
Dim i%, Buffer$: Buffer = String$(254, 0)
i = GetWindowText(hwnd, Buffer, 255)
If i Then GetCaption = Left$(Buffer, i)
End Function
'----------------------------------------------
"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :
#QvbEzSLKHA.4300@TK2MSFTNGP04.phx.gbl...
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit
être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry
Bonjour Thierry,
Si tu veux que ta cellule soit active, et que tu puisse taper par exemple
directement dedans à la suite de l'ouverture de ton formulaire, voici
un bout de procédure de Michel Perron
'Déclaration des API dans le haut d'un module standard
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow& Lib "user32" (ByVal hwnd&, ByVal
wCmd&)
Private Declare Function GetWindowLong& Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd&, ByVal nIndex&)
Private Declare Function GetWindowText& Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal aint&)
Private Const mconMAXLEN = 255
'-------------------------------
Sub Ouvrir_Le_Formuaire()
Dim hwnd&, Style&, Title$, i&
hwnd = GetWindow(GetDesktopWindow(), 5)
'Ouverture de ton formulaire
UserForm1.Show 0 'Nom à adapter
Do While hwnd
Title = GetCaption(hwnd)
If Len(Title) Then
If GetWindowLong(hwnd, -16) And &H10000000 Then
If InStr(1, Title, Application.Caption, 1) Then
AppActivate Title
'La feuille et l'adresse où tu veux te retrouver
'dans ton application après avoir ouvert ton formulaire
'Si tu as plusieurs classeurs ouverts, tu devras spécifié
'le nom du classeur avant !
With Worksheets("Feuil2")
Application.Goto .Range("G25")
End With
Exit Sub
End If
End If
End If
hwnd = GetWindow(hwnd, 2)
Loop
End Sub
'----------------------------------------------
Function GetCaption(hwnd&) As String
Dim i%, Buffer$: Buffer = String$(254, 0)
i = GetWindowText(hwnd, Buffer, 255)
If i Then GetCaption = Left$(Buffer, i)
End Function
'----------------------------------------------
"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :
#
Bonjour,
Dans une feuille excel, je souhaite afficher de façon permanente un
UserForm
(en haut à droite) qui contient des boutons à cliquer, ce Userform doit
être
toujours affiché. Pas de soucis pour configurer le UserForm, mon problème
est le suivant :
Lorsque j'affiche la feuille contenant le userform, c'est lui qui a le
focus
et non la feuille en elle même. Ce qui veut dire que si je veux travailler
sur une cellule de la feuille, je dois d'abord cliquer sur cette feuille
pour lui faire prendre le focus. Bref, je ne sais pas comment faire perdre
le focus au userform tout en le laissant affiché.
Voici le code utilisé dans la feuille :
Private Sub Worksheet_Activate()
Dim Cellule As Range
'Afficher l'USF1
'Initialise les paramètres du USF1
UserForm1.startUpPosition = 3
UserForm1.Left = Application.Width - UserForm1.Width - 20
UserForm1.Top = 130
UserForm1.Caption = "Commandes"
UserForm1.Show 0
ActiveSheet.Activate
End sub
Merci par avance pour votre aide,
Thierry