Sheets("IMAGE").Select
Private Sub Afficherimage()
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 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
Dim duree As Integer duree = 10 ' pour 10 secondes stoppons = Now + TimeValue("00:00:" & duree) patientez.Show
Private Sub UserForm_Initialize() Me.Move 0, 0, 2000, 20 patientons End Sub
Public stoppons As Date Public Sub patientons() patientez.Tag = Val(patientez.Tag) messages = Array("Je travaille, moi", "I am working for you", "Dejenme tranquilo, por favor", "un peu de patience, SVP", _ "Keep quiet, please", "estoy trabajando") patientez.Caption = Format(messages(patientez.Tag), String(150, "@")) If Now < stoppons Then Application.OnTime Now + TimeValue("00:00:01"), "patientons" 'stoppons" patientez.Tag = Val(patientez.Tag + 1) If Val(patientez.Tag) > UBound(messages) Then patientez.Tag = 0 Else Unload patientez End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionIl s'agit du temps que met le pc pour réaliser les calculs, tracer les graphs, etc.
For i = X To X Step XXX Do Blabla Next
' TIMER : Mise à jour d'un label dans une userform ' Directement inspiré de : ' http://stackoverflow.com/questions/2319683/vba-macro-on-timer-style-to-run-code-every-set-number-of-seconds-i-e-120-second Dim TimerActive As Boolean Private Sub Start_Timer() TimerActive = True Application.OnTime Now() + TimeValue("00:00:01"), "Timer" End Sub Private Sub Stop_Timer() TimerActive = False End Sub Private Sub Timer() If TimerActive Then UserForm1.Label1 = UserForm1.Label1 & "." ' Ajouter un point au message d'attente Application.OnTime Now() + TimeValue("00:00:01"), "Timer" 'une seconde End If End Sub Sub StartTimer() ' Démarrage du TIMER UserForm1.Show (0) 'ouvre l'userform1 en mode modal (Attention ce mode est obligatoire!) Start_Timer 'Démarre le Timer ' Ici le code ' ........... ' Arrêt du TIMER ' Stop_Timer End Sub
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>" '---------------------------------------------- 'voici la ligne à ajouter. ComboBox1.ListIndex = 0 End Sub