OVH Cloud OVH Cloud

vbmodeless

3 réponses
Avatar
Jean-Marie GILTAIRE
Bonjour,
Quelqu'un sait-il ce qui correspondrait à vbmodeless en excel 97 ?

Merci d'avance

Jean-Marie

3 réponses

Avatar
PMO
Bonjour,
Dans la version Excel 97 il n'existait pas la
possibilité de rendre non modal un userform.
De ce fait, et si c'est bien de cela qu'il s'agit,
les constantes vbModeless et vbModal ne peuvent y être
utilisées. Le userform est modal par défaut.

Cordialement.

PMO
Patrick Morange


-----Message d'origine-----
Bonjour,
Quelqu'un sait-il ce qui correspondrait à vbmodeless en
excel 97 ?


Merci d'avance

Jean-Marie


.



Avatar
Jean-Marie GILTAIRE
Merci.


"PMO" a écrit dans le message de
news:03f401c3bb2c$7d728c40$
Bonjour,
Dans la version Excel 97 il n'existait pas la
possibilité de rendre non modal un userform.
De ce fait, et si c'est bien de cela qu'il s'agit,
les constantes vbModeless et vbModal ne peuvent y être
utilisées. Le userform est modal par défaut.

Cordialement.

PMO
Patrick Morange


-----Message d'origine-----
Bonjour,
Quelqu'un sait-il ce qui correspondrait à vbmodeless en
excel 97 ?


Merci d'avance

Jean-Marie


.



Avatar
Denis Michon
Bonjour Jean-Marie,


Tu peux toujours utiliser ceci dans ton formulaire pour obtenir l'effet que tu désires.
Et dans la procédure "Private Sub UserForm_Initialize()", prend soin de définir le nom de formulaire correctement.

Laurent Longre est l'initiateur de cette approche

'Dans le haut de ton formulaire ; Déclaration des API
Option Explicit
Private Declare Function FindWindowA Lib _
"User32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib _
"User32" (ByVal hWnd As Long, ByVal bEnable As Long) As Long

Private Declare Function GetWindowLongA Lib _
"User32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib _
"User32" (ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub

'--------------------
Private Sub UserForm_Initialize()

Dim hWnd As Long
hWnd = FindWindowA(vbNullString, Userform1.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000

End Sub
'--------------------


Salutations!




"Jean-Marie GILTAIRE" a écrit dans le message de
news:3fd072f4$0$5468$
Bonjour,
Quelqu'un sait-il ce qui correspondrait à vbmodeless en excel 97 ?

Merci d'avance

Jean-Marie