Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb d'ouverture d'un 2ème classeur pendant éxécution d'une macro

10 réponses
Avatar
jo-dou
Bonjour =E0 toutes et =E0 tous, excelliennes et excellien,

J'ai un petit soucis.

J'ai fait un classeur planning.xls, je lance par workbook open un
userform qui permet d'interroger le planning des gens par recherche en
cliquant sur l'initiale du nom de famille.
Ce classeur est sens=E9 rester ouvert en permanence =E0 l'accueil.

Mon probl=E8me c'est que lorsque le classeur planning est actif, que le
userform est affich=E9 =E0 l'=E9cran, quand on veut ouvrir un autre
classeur par double clic il n'apparait pas.

Il faut fermer le classeur planning pour pouvoir ouvrir un autre
classeur ou ouvrir le classeur en lan=E7ant excel
par le menu d=E9marrer pui fichier ouvrir. ce qui n'est pas du plus
pratique.

J'ai beau chercher, je ne trouve rien sur ce probl=E8me mais peut =EAtre
suis-je pass=E9 =E0 cot=E9

Si quelqu'un a une id=E9e ?

D'avance merci.

Jo=EBl

PS: j'ai d=E9j=E0 v=E9rifi=E9 les conseils trouv=E9s sur
http://www.excelabo.net/xl/plantages.php#pasdoubleclic

10 réponses

Avatar
papou
Bonjour
Ton userform est-il chargé de façon modale ?

Cordialement
Pascal

a écrit dans le message de news:

Bonjour à toutes et à tous, excelliennes et excellien,

J'ai un petit soucis.

J'ai fait un classeur planning.xls, je lance par workbook open un
userform qui permet d'interroger le planning des gens par recherche en
cliquant sur l'initiale du nom de famille.
Ce classeur est sensé rester ouvert en permanence à l'accueil.

Mon problème c'est que lorsque le classeur planning est actif, que le
userform est affiché à l'écran, quand on veut ouvrir un autre
classeur par double clic il n'apparait pas.

Il faut fermer le classeur planning pour pouvoir ouvrir un autre
classeur ou ouvrir le classeur en lançant excel
par le menu démarrer pui fichier ouvrir. ce qui n'est pas du plus
pratique.

J'ai beau chercher, je ne trouve rien sur ce problème mais peut être
suis-je passé à coté

Si quelqu'un a une idée ?

D'avance merci.

Joël

PS: j'ai déjà vérifié les conseils trouvés sur
http://www.excelabo.net/xl/plantages.php#pasdoubleclic
Avatar
jo-dou
Merci pour ta rapidité

Excuses moi mais je ne sais pas ( je ne développe avec ces outils que
depuis peu de temps)

voilz mon workbook open :


Private Sub Workbook_Open()
Application.Visible = False
Set fso = CreateObject("Scripting.FileSystemObject")
wrépertoire = fso.GetParentFolderName(ActiveWorkbook.FullName)
If wrépertoire <> "K:1-outils et documents communsAccueilBase
Planning" Then
Chx_lettre.Show
Else
MsgBox "Pour utiliser cet outil, vous devez copier planning.xls" &
Chr(10) & "sur votre espace personnel (F:)"
End If
wb = ActiveWorkbook.Name
Workbooks(wb).Close SaveChanges:úlse
Application.Quit
End Sub


joël
Avatar
jo-dou
Est ce suffisant comme info?
Avatar
jo-dou
J'ai trouvé l'info sur show modal sur ce forum
si je mets en non modal (show 0), mon userform ne fait que s'afficher
et disparaitre sans attendre la réponse de l'utilisateur.

as tu une autre piste ?

merci joël
Avatar
jo-dou
SVP ça fait une semaine que je galère la dessus !!!!
Avatar
MichDenis
Tu dois rendre visible en tout temps ton formulaire.
Pour ce faire, ajoute le code suivant dans ton formulaire
Évidemment ton formulaire doit être ouvert dans une fenêtre non modale.


En haut de ton formulaire, déclaration des constantes et API
'------------------------
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOACTIVATE = &H10
Private Declare Function SetWindowPos Lib "User32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'------------------------


Private Sub UserForm_Initialize()
SetWindowPos FindWindowA("ThunderDFrame", Me.Caption), _
-1, 0, 0, 0, 0, 3
End Sub




a écrit dans le message de news:

Bonjour à toutes et à tous, excelliennes et excellien,

J'ai un petit soucis.

J'ai fait un classeur planning.xls, je lance par workbook open un
userform qui permet d'interroger le planning des gens par recherche en
cliquant sur l'initiale du nom de famille.
Ce classeur est sensé rester ouvert en permanence à l'accueil.

Mon problème c'est que lorsque le classeur planning est actif, que le
userform est affiché à l'écran, quand on veut ouvrir un autre
classeur par double clic il n'apparait pas.

Il faut fermer le classeur planning pour pouvoir ouvrir un autre
classeur ou ouvrir le classeur en lançant excel
par le menu démarrer pui fichier ouvrir. ce qui n'est pas du plus
pratique.

J'ai beau chercher, je ne trouve rien sur ce problème mais peut être
suis-je passé à coté

Si quelqu'un a une idée ?

D'avance merci.

Joël

PS: j'ai déjà vérifié les conseils trouvés sur
http://www.excelabo.net/xl/plantages.php#pasdoubleclic
Avatar
jo-dou
Super Michdenis,

Je peux ouvrir un autre classeur sans problème. Tu me sauves.

Il me reste un deuxième petit problème avec ta solution (mais c'est
moins génant) :

Le userform se ferme lorsque je ferme excel sur le 2ème classeur. As
tu une autre parade?



Joël
Avatar
MichDenis
| Le userform se ferme lorsque je ferme excel sur le 2ème classeur. As
| tu une autre parade?

Si tu fermes l'application Excel, C'est sûr que le formulaire va se fermer...
c'est normal... c'est impossible d'afficher le formulaire sans que l''application
Excel soit ouverte. Si tu fermes seulement le deuxième classeur que tu as
ouvert dans la même instance de l'application, le formulaire demeure toujours
afficher.
Avatar
Patrick Penet
Il faut que la première instance d'Excel soit
IgnoreRemoteRequest = True

Ainsi l'autre classeur s'ouvre dans une instance
différente qui peut être fermée indépendamment.

P.

"MichDenis" a écrit dans le message de news:

| Le userform se ferme lorsque je ferme excel sur le 2ème classeur. As
| tu une autre parade?

Si tu fermes l'application Excel, C'est sûr que le formulaire va se fermer...
c'est normal... c'est impossible d'afficher le formulaire sans que l''application
Excel soit ouverte. Si tu fermes seulement le deuxième classeur que tu as
ouvert dans la même instance de l'application, le formulaire demeure toujours
afficher.





Avatar
MichDenis
Si les classeurs que l'usagers ouvrent doivent avoir une interaction
avec le classeur de base de l'application, je ne conseillerais
surtout pas que ces classeurs s'ouvrent dans une instance
indépendante ...

Ceci étant, le demandant choisira la manière dont il veut
procéder !


"Patrick Penet" a écrit dans le message de news:
4576f166$0$21149$
Il faut que la première instance d'Excel soit
IgnoreRemoteRequest = True

Ainsi l'autre classeur s'ouvre dans une instance
différente qui peut être fermée indépendamment.

P.

"MichDenis" a écrit dans le message de news:


| Le userform se ferme lorsque je ferme excel sur le 2ème classeur. As
| tu une autre parade?

Si tu fermes l'application Excel, C'est sûr que le formulaire va se fermer...
c'est normal... c'est impossible d'afficher le formulaire sans que l''application
Excel soit ouverte. Si tu fermes seulement le deuxième classeur que tu as
ouvert dans la même instance de l'application, le formulaire demeure toujours
afficher.