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 : 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
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
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 : 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
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.