Definir un Unserform.show en non modal ?

C

Creepy

Guest
Bonjour all,

Je viens de créer une petite progressbar qui s'affiche à l'ouverture de mon fichier excel, car celui ci est gros à initialiser.

Je me suis dit que cela ferait patienter l'utilisateur.

Mon probleme est que j'avais mis directement comme en VB, un userform.show 1, pour que celle-ci soit non modale et que le code de ma procedure Worksheet_initialize se charge pendant l'affichage de ma progressbar.

Mais sous Excel il n'y a pas à priori de possibilité de définir une fonction show modale ou non !!

Auriez une solution pour contourner le problème, car sinon cella n'est pas d'un grand interet s'il faut attendre la fin de la progressbar et se retaper l'attente de l'initialisation de mon fichier.

Merci d'avance

Creepy
 
@

@Christophe@

Guest
Bonjour Creepy

Normal, la propriété modal n'existe que après excel 97

Mais il existe pour 97 un code à mettre dans ton userform pour le rendre modal.

Voici le code:

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, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000
End Sub


Bonne journée

@Christophe@
 
C

Creepy

Guest
Salut all,

Désolé mais cela ne semble pas fonctionner

Le code est bon, mais a priori j'ai quand même des instructions de mon workbook initialize qui s'execute après.

Et là je dois bien avouer que je ne comprends pas grand chose au code.

C'est peut être à cause de la progressbar qui boucle ??

Une idée ??

Merci d'avance

Creepy
 

Discussions similaires

Statistiques des forums

Discussions
314 123
Messages
2 106 144
Membres
109 503
dernier inscrit
clercst