Le programme réduit à sa plus simple expression
ACCEPTE NombreAnnee
Affiche NombreAnnee * 365 * 24 * 60 * 60
Cette version génère un dépassement de capacité
Sub NombreSecondeAnnee()
Dim NombreAnnee As Integer
NombreAnnee = InputBox("Combien d'années ?")
MsgBox NombreAnnee * 365 * 24 * 60 * 60
End Sub
Cette version fonctionne
Sub NombreSecondeAnneeV2()
Dim NombreAnnee As Integer
Dim NombreSeconde As Currency
NombreAnnee = InputBox("Combien d'années ?")
NombreSeconde = CCur(NombreAnnee) * 365 * 24 * 60 * 60
MsgBox NombreSeconde
End Sub
Version qui exige un nombre entre 1 et 100, et qui donne un résultat plus convivial
Sub NombreSecondeAnneeV3()
Dim NombreAnnee As Integer
Dim NombreSeconde As Currency
NombreAnnee = InputBox("Combien d'années ? (1 - 100)")
Do While NombreAnnee < 1 Or NombreAnnee > 100
NombreAnnee = InputBox("Nombre invalide. Combien d'années
? (1 - 100)")
Loop
NombreSeconde = CCur(NombreAnnee) * 365 * 24 * 60 * 60
MsgBox "Dans " & NombreAnnee & ", il y a " & NombreSeconde
End Sub
Maintenant, on peut également ne rien rentrer comme valeur, ou du texte
Sub NombreSecondeAnneeV4()
Dim NombreAnnee As Integer
Dim NombreSeconde As Currency
NombreAnnee = Val(InputBox("Combien d'années ? (1 - 100)"))
Do While NombreAnnee < 0 Or NombreAnnee > 100
NombreAnnee = Val(InputBox("Nombre invalide. Combien d'années
? (1 - 100)"))
Loop
If NombreAnnee = 0 Then
MsgBox "Vous n'avez pas entré d'années !"
Else
NombreSeconde = CCur(NombreAnnee) * 365 * 24 * 60 * 60
MsgBox "Dans " & NombreAnnee & " ans, il y a " &
NombreSeconde & " secondes."
End If
End Sub