Un surprenant DateDiff() en VBA
Mon dernier message « en finissait » avec la fonction DateDif() de la feuille de calcul. Une fois de plus, Bill Gates parvient à nous surprendre avec – en VBA – une fonction qui lui ressemble, mais qui n'est pas la même, une sorte de Canada Dry...
En effet, le VBA vous offre la fonction DateDiff() , avec un second « f » pour faire la différence. Cette fonction n’est pas tout à fait la même, mais il y a évidemment un air de famille avec DateDif().
Dans cette fonction, c’est le premier argument qui indique la « forme », mais avec des modalités différentes. Nous vous laissons consulter l’aide pour en voir le détail. Au passage, attribuons un carton rouge à Microsoft qui donne un exemple d’application foireux :
En effet, le premier argument en « d » pour « day » a été abusivement traduit dans cet exemple en « j » pour « jour », ce qui entraîne un plantage de la macro.
Si vous entrez votre date de naissance en A1, la macro ci-dessous affichera le nombre de jours auxquels vous avez survécu :
Sub Age()
MsgBox Format(DateDiff("d", Range("A1"), Now), "#,##0") & " jours"
End Sub
Voici le résultat :
En effet, le VBA vous offre la fonction DateDiff() , avec un second « f » pour faire la différence. Cette fonction n’est pas tout à fait la même, mais il y a évidemment un air de famille avec DateDif().
Dans cette fonction, c’est le premier argument qui indique la « forme », mais avec des modalités différentes. Nous vous laissons consulter l’aide pour en voir le détail. Au passage, attribuons un carton rouge à Microsoft qui donne un exemple d’application foireux :
En effet, le premier argument en « d » pour « day » a été abusivement traduit dans cet exemple en « j » pour « jour », ce qui entraîne un plantage de la macro.
Si vous entrez votre date de naissance en A1, la macro ci-dessous affichera le nombre de jours auxquels vous avez survécu :
Sub Age()
MsgBox Format(DateDiff("d", Range("A1"), Now), "#,##0") & " jours"
End Sub
Voici le résultat :
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil