Private pas As Single Private Sub Form_Initialize() 'h0 = Me.Height pas = Me.Height / 20 ' pour un pas de 1/20ème de la hauteur réelle de ton form Me.Move 0, 0, Me.Width, pas Timer1.Interval = 50 ' donne une périodicité correspondant à tes goûts Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Static n As Single If n 0 Then n 5 ' ou ce que tu veux pour déterminer la hauteur de départ Me.Height = pas * n If n >20 Then Timer1.Enabled False n = n + 0.2 ' ou ce que tu veux au lieu de 0.2 pour régler la vitesse du pas End Sub
Private pas As Single, debit As Single, molette_fine As Single Private Sub Form_Initialize() 'la fraction d'avancement (par fraction de la hauteur du Form) ' plus la fraction est petite (donc plus le dénominateur est grand), plus la vitesse générale sera petite debit = 1 / 100 'vitesse de progression de n dans le timer (ajustement fin) ' plus cette variable est élevée, plus l'avancement sera rapide molette_fine = 0.2 pas = Me.Height * debit Me.Move 0, 0, Me.Width, pas Timer1.Interval = 1 ' donne une périodicité correspondant à tes goûts Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Static n As Single If n 0 Then n 15 ' ou ce que tu veux pour déterminer la hauteur de départ Me.Height = pas * n If n >1 / debit Then Timer1.Enabled False n = n + molette_fine ' ou ce que tu veux au lieu de 0.2 pour régler la vitesse du pas End Sub*