Problème GIF dans Userform
Bonjour,
Tout est dans le titre, je m'explique.
J'ai un Userform à plusieurs pages,
Sur la page 0, je fais apparaitre un GIF par un Webbrowser pendant le chargement d'une action :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub AfficheGIF()
' Permet d'afficher un GIF pendant le chargement de la nomenclature
Dim Fs As Object
Sommaire.WebBrowser1.Visible = True
Set Fs = CreateObject("Scripting.FileSystemObject")
'Supprime l'image temporaire si elle existe
If Fs.FileExists(ThisWorkbook.Path & "\imageTemp.gif") Then
Kill ThisWorkbook.Path & "\imageTemp.gif"
End If
Dim i As Long, k As Long, P As Long, F As Long
Dim Hauteur As Long, Largeur As Long
Dim S As String
Dim j As Integer
Dim B() As Byte
Dim Tb
With ThisWorkbook.Worksheets("GIF").UsedRange
Tb = .Value
P = .Count
End With
ReDim Preserve B(1 To P)
For i = 1 To UBound(Tb, 1)
For j = 1 To UBound(Tb, 2)
k = k + 1
B(k) = Tb(i, j)
Next j
Next i
F = FreeFile
S = ThisWorkbook.Path & "\imageTemp.gif"
Open S For Binary Access Write As F
Put #F, , B
Close F
With Sommaire.WebBrowser1
Largeur = .Width * 96 / 72
Hauteur = .Height * 96 / 72
.Navigate _
"ABOUT:<HTML><CENTER><HEAD><body scroll='no' LEFTMARGIN=0 TOPMARGIN=0><IMG WIDTH=" _
& Largeur & " HEIGHT=" & Hauteur & " SRC='" & S & _
"'</IMG></BODY></CENTER></HTML>"
End With
End Sub |
Une fois cette action terminé, je cache le Webbrowser et supprime l'image du GIF :
Code:
1 2 3 4 5 6 7 8 9
| Sommaire.WebBrowser1.Visible = False
Dim Fs As Object
Set Fs = CreateObject("Scripting.FileSystemObject")
'Supprime l'image temporaire si elle existe
If Fs.FileExists(ThisWorkbook.Path & "\imageTemp.gif") Then
Kill ThisWorkbook.Path & "\imageTemp.gif"
End If |
A côté de ça, dans la page 1, j'ai un bouton "RESET" qui me permet de tout remettre à zéro et de retourner sur la page 0 pour recommencer une nouvelle action.
Dans lequel j'ai mis le code suivant, me permettant d'effacer le contenu du Webbrowser :
Code:
1 2 3 4 5 6 7 8
| Dim Hauteur As Long, Largeur As Long
With Sommaire.WebBrowser1
Largeur = .Width * 96 / 72
Hauteur = .Height * 96 / 72
.Navigate _
"ABOUT:BLANK"
End With |
Voila le début de mon problème, ça me donne une erreur : Erreur d'exécution, la méthode 'Navigate' de l'objet 'IWebBrowser2' a échoué.
Par contre, si je créer un bouton sur la page 0 et que je lui met le code d'effacement du Webbrowser, je n'ai plus cette erreur et tout fonctionne.
Auriez-vous une idée ?
Merci.