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.

Rechercher des sujets similaires à "adapter code vba"