XL 2013 Affichage d'un userform avec GIF animé pendant l’exécution d'une macro

Flown720

XLDnaute Nouveau
Bonjour,

Je m'adresse à vous pour vous demander si c'est possible de réaliser une fenêtre avec un gif animé qui sera stocké sur un pc (je n'ai pas besoin de l'integrer au fichier excel)
pour le moment, ça j'ai réussi en faisant une userform avec outil webbrowser , elle s'affiche comme je le souhaite sans que la macro tourne.
Ma macro fonctionne correctement aussi.

Je lance ma macro par un bouton activeX, voici le code que j'utilise

VB:
Private Sub CommandButton1_Click()

ActiveCell.Select
    
UserForm1.Show vbModeless
UserForm1.Repaint
DoEvents

Application.ScreenUpdating = False

'................
'la macro qui tourne comme il faut
'et je termine par ça
'................

Unload UserForm1

End Sub

Après le code de mon userform1 est le suivant
Code:
Private Sub UserForm_Initialize()
Dim S As String
Dim Hauteur As Long, Largeur As Long
Dim LePath As String

LePath = "C:\GIF\"
Largeur = WebBrowser1.Width * 140 / 110
Hauteur = WebBrowser1.Height * 441 / 410

S = LePath & "loading-spin-defaut.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>"

End Sub

Donc mon problème, c'est que pratiquement tout fonctionne, alors que j'ai récuperer pas mal de code sur le forum pour l'adapter.
Le seul soucis, c'est que le gif ne s'anime pas, mais il s'affiche dans l'userform, et s'arrête bien au bon moment.

Alors c'est mon premier post sur ce type, j'espère avoir été le plus clair possible de mes attentes, et j'espère avoir des solutions à problèmes
Merci encore :)
 
Solution
re
virage 190° ;)
et oui parce que des idées j'en ai plein
avec IE(internet explorer on peut faire la même chose
en utilisant une variable("OBJRETURN") en CALLBACK je ferme la fenêtre quand je veux et dans la sub lanceuse

voila
l'ouverture et fermeture est maitriser dans la sub
VB:
Sub testavecIE()
    Dim Gif$, t&, OBJRETURN As Object
    Gif = "C:\Users\polux\DeskTop\cuicui.gif"    'mettre l'adresse du gif ici
    'on lance le message
    msgboxhtml "il est pas dans excel mon message ", "MESSAGE HORS EXCEL BY patricktoulon", Gif, OBJRETURN

    'POUR TESTER exemple on attend un peu
    t = Timer
    Do:: DoEvents: Loop While Timer - t < 5 '5secondes

    'apres ces 5 secondes on ferme le message
    OBJRETURN.Quit
End Sub...

phil77515

XLDnaute Nouveau
bonjour

j'ai sensiblement le meme pb

je cherche a faire afficher un gif anime dur l'execution d'une macro assez longue

le pb est que j'ai un ecran blanc jusqu'au resultat de l'execution de la macro , ensuite l'animation se fait

et a la fin le userform ne diparait pas apres le clic sur le bouton

VB:
Sub Tirages()

Dim i&, Succes As Boolean

'le gif anime est place dans un userform que j'ai appelé "Merci_de_patienter"

Merci_de_patienter.Show vbModeless
Merci_de_patienter.Repaint
DoEvents
Application.ScreenUpdating = False

'lancement de la macro tirage au sort

   Sheets("tirage au sort").Range("a3:p24").ClearContents
   Sheets("tirage au sort").Range("a:p").Font.ColorIndex = xlColorIndexAutomatic
   For i = 1 To MaxEssai
      Application.StatusBar = "Essai n° " & i & "  sur " & MaxEssai
      UnTirage Succes
      If Succes Then    '
         MsgBox "Tirage réussi après " & i & " SIMULATIONS", , "Résultat du tirage"
         Application.StatusBar = False
         Exit Sub
      End If
    
   Next i
   MsgBox MaxEssai & " Tirages infructueux. Veuillez relancer une autres série de tirage."
  Application.StatusBar = False
  
   Merci_de_patienter.Hide
   Unload Merci_de_patienter
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 009
dernier inscrit
dede972