Adapter un code VBA
Bonjour,
J’ai fait un formulaire avec Excel 2013 et tout marche bien. Mais j’aimerai y ajouter une Progress bar, j’ai récupéré un code fait pour Visual basic 2010 et je voudrais savoir si on peut l’adapter au code du formulaire. Je voudrais que la barre de progression se lance lorsque on click sur le bouton valider. Je joins les deux codes des fois que quelqu’un ai une idée. Dans l’attente de vos réponses, je vous remercie par avance et bonne année.
Code ProgressBar:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Enabled = False
ProgressBar1.Increment(1)
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
MsgBox("Chargement terminé")
ProgressBar1.Value = ProgressBar1.Minimum
End If
End Sub
Code Formulaire:
Private Sub Effacer_les_données_Click()
Unload jaugeage
jaugeage.Show
End Sub
Private Sub Enregistrer_et_quitter_Click()
ActiveWorkbook.Save
Application.Quit
End Sub
Private Sub Quitter_Click()
Unload jaugeage
End Sub
Private Sub TextBox1_Change()
TextBox1 = Date
End Sub
Private Sub userForm_Initialize()
With Me
.startUpPosition = 1
.Left = Application.Width - Me.Width
End With
End Sub
Private Sub Valider_Click()
Dim L As Integer
Application.ScreenUpdating = False
L = Sheets("jaugeage").Range("a65536").End(xlUp).Row + 1
Range("A" & L).Value = CDate(TextBox1.Value)
Range("B" & L).Value = ComboBox1.Value
Range("C" & L).Value = TextBox2.Value
Range("K" & L).Value = TextBox4.Value
Range("L" & L).Value = TextBox5.Value
Range("O" & L).Value = TextBox6.Value
Range("P" & L).Value = TextBox7.Value
Range("S" & L).Value = TextBox8.Value
Range("T" & L).Value = TextBox9.Value
Range("Y" & L).Value = TextBox10.Value
Unload Me
jaugeage.Show vbModeless
End Sub
Bonsoir,
Une piste, pour le Timer, avec Application.OnTime. A mettre dans un module standard (adapter le nom de la Form et les valeurs Min et Max du ProgressBar) :
Sub Timer()
With UserForm1.ProgressBar1
.Value = .Value + 1
If .Value = .Max Then
MsgBox ("Chargement terminé")
.Value = .Min
Else
Depart
End If
End With
End Sub
Sub Depart()
'toutes les secondes (à peu près !)
Application.OnTime Now + TimeValue("00:00:01"), "Timer"
End Sub
A mettre dans le module de la Form sur Clic d'un CommadButton :
Private Sub CommandButton1_Click()
Depart
End Sub
Bonjour,
Merci de votre réponse, j’ai essayé de suivre vos conseils, mais je n’arrive à rien. Je vous joins le fichier pour que si cela vous dit vous puissiez le regardez et peut être me mettre le code afin que je comprenne la marche à suivre. Merci de votre intérêt pour mon projet.