Il est de bon ton de se souhaiter la bonne année. Mais vous, et vous seul, pourrez faire en sorte que cette année soit bonne, meilleure que celle qui vient de s'écouler. Apprenez à ne compter que sur vous, car personne n'est plus qualifié que vous-même pour bâtir, réparer ou améliorer votre propre vie. Personne ne fera les choses à votre place. D'ailleurs, tout ce que les autres peuvent faire, c'est souhaiter que vous le fassiez. Et ne croyez pas que tout ceux qui vous entourent vous apporteront des solutions : certains font juste partie de vos problèmes. Transformez vos résolutions en actes, et dans douze mois, retournez-vous et souriez-vous fièrement : C'était long. C'était difficile. Mais ça y est : 2017 était une bonne année, merci Moi.

Transformation d'un nombre d'années en secondes

Pseudo-code

Le programme réduit à sa plus simple expression

ACCEPTE NombreAnnee
Affiche NombreAnnee * 365 * 24 * 60 * 60


Visual Basic

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