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 :
Une fois cette action terminé, je cache le Webbrowser et supprime l'image du GIF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Dans lequel j'ai mis le code suivant, me permettant d'effacer le contenu du Webbrowser :
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é.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager