StagiaireEnMousse
XLDnaute Nouveau
Bonjour à tous ! 🙂
Je me permets de créer un sujet concernant les gifs animés et les UserForm.
Je sais, il existe plein de posts similaires, mais je n'arrive pas à régler mon problème d'animation du gif.
Je suis plutôt novice en VBA, vu que ça ne fait qu'un petit mois que je suis en plein dedans. Depuis le début de mon projet, j'ai touours pu trouver les réponses souhaitées, mais pas cette fois. Donc je fais appel à vous ! 😀
Voici mon problème:
J'ai crée un UserForm avec un WebBrowser pour faire patientez l'utilisateur le temps d'exécuter une série de calculs.

Cependant, le gif ne s'anime que lorsque ma fenêtre active n'est plus Excel. Je ne comprends vraiment pas ce problème...
Voici mon code pour le UserForm "ATTENTE" + WebBrowser :
Pour activer le UserForm :
En espérant avoir été claire et obtenir des réponses (et non pas des moqueries et du manque de respect comme sur d'autres forums Excel...)
Merci d'avance !
Cordialement,
Une stagiaire en mousse.
PS: Comment fait-on pour mettre des couleur dans le code pour qu'il soit plus lisible ? 😕
Je me permets de créer un sujet concernant les gifs animés et les UserForm.
Je sais, il existe plein de posts similaires, mais je n'arrive pas à régler mon problème d'animation du gif.
Je suis plutôt novice en VBA, vu que ça ne fait qu'un petit mois que je suis en plein dedans. Depuis le début de mon projet, j'ai touours pu trouver les réponses souhaitées, mais pas cette fois. Donc je fais appel à vous ! 😀
Voici mon problème:
J'ai crée un UserForm avec un WebBrowser pour faire patientez l'utilisateur le temps d'exécuter une série de calculs.

Cependant, le gif ne s'anime que lorsque ma fenêtre active n'est plus Excel. Je ne comprends vraiment pas ce problème...
Voici mon code pour le UserForm "ATTENTE" + WebBrowser :
Code:
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 Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Initialize()
Dim S As String
Dim Hauteur As Long, Largeur As Long
Dim LePath As String
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.version Like "8*", "X", "D") _
& "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
LePath = ActiveWorkbook.path & "\"
Largeur = WebBrowser1.Width + 10
Hauteur = WebBrowser1.Height + 10
'Le nom du fichier Zip
S = LePath & "loading2.gif"
WebBrowser1.Navigate _
"ABOUT:<HTML><CENTER><HEAD><body scroll='no' LEFTMARGIN=0 TOPMARGIN=0><IMG WIDTH=" & _
Largeur & " HEIGHT=" & Hauteur & _
" SRC='" & S & "'</IMG></BODY></CENTER></HTML>" & _
DoEvents
End Sub
Private Sub UserForm_Activate()
WebBrowser1.Document.Body.Style.backgroundColor = xlTransparent
WebBrowser1.Document.Body.Style.Border = "none"
End Sub
Pour activer le UserForm :
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub SuccessionsDeCalculs()
ATTENTE.Show 0
Sleep (5)
DoEvents
Sleep (5)
ATTENTE.Repaint
Call CalculsLongs
Unload ATTENTE
End Sub
En espérant avoir été claire et obtenir des réponses (et non pas des moqueries et du manque de respect comme sur d'autres forums Excel...)
Merci d'avance !
Cordialement,
Une stagiaire en mousse.
PS: Comment fait-on pour mettre des couleur dans le code pour qu'il soit plus lisible ? 😕