Option Explicit Private Sub UserForm_Initialize() Dim x As Byte 'If ThisWorkbook.Worksheets.Count > 1 Then 'Boucle sur les feuilles (à partir du 2eme onglet): ' For x = 2 To ThisWorkbook.Worksheets.Count ' ComboBox1.AddItem ThisWorkbook.Worksheets(x).Name ' Next ' End If Dim LeTexte As String, LaCouleur As String '----------- message pendant le transfert ---- 'Permet de créer un message d'attente défilant dans le WebBrowser pendant le transfert 'des données (au format binaire) dans les cellules de la nouvelle feuille. LeTexte = "Veuillez patienter... traitement en cours ..." LaCouleur = "#CC0000" WebBrowser2.Navigate _ "about:<html>" & _ "<marquee>" & LeTexte & "</marquee></html>" '---------------------------------------------- 'Afficherimage 'activer quand il y aura une image End Sub 'La sélection d'un nom va déclencher la création d'un fichier gif à partir des données 'binaires stockées dans la feuille, puis l'affichage de cette image dans le WebBrowser. Private Sub Afficherimage() Dim S As String Dim i As Long, F As Long Dim j As Byte, b As Byte Dim Hauteur As Long, Largeur As Long Sheets("IMAGE").Select ' 'Vérifie qu'il y a bien un nom de choisi dans le ComboBox. ' If ComboBox1.Value = "" Then Exit Sub i = 1 'Définit le chemin de l'image qui va être créée. S = "C:\imageTemp.gif" '----- Création de l'image pour un affichage dans l'USF ----- F = FreeFile Open S For Binary Access Write As F Do j = j + 1 If j = 21 Then j = 1 i = i + 1 End If b = ThisWorkbook.Sheets("IMAGE").Cells(i, j).Value Put #F, , b DoEvents Loop While ThisWorkbook.Sheets("IMAGE").Cells(i, j).Value <> "" Close F '------------------------------------------------------------ ' 'Définit les dimensions d'affichage de l'image dans le WebBrowser. ' Largeur = WebBrowser1.Width * 96 / 72 ' Hauteur = WebBrowser1.Height * 96 / 72 ' Version pour afficher l'image à sa taille réelle: WebBrowser1.Navigate _ "ABOUT:<HTML><CENTER><HEAD></CENTER></HTML>" Sheets("Feuil1").Select End Sub 'Evênement fermeture du UserForm Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Dim Fs As Object Set Fs = CreateObject("Scripting.FileSystemObject") 'Supprime l'image temporaire si elle existe If Fs.FileExists("C:\imageTemp.gif") Then Kill "C:\imageTemp.gif" End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question