Une bizarrerie de VBA Excel 2007
Dans un module VBA (Excel 2007), j'ai voulu utiliser la fonction Val pour convertir un texte en nombre. Tout allait bien jusqu'à ce que j'envoie à cette fonction un paramètre du type :
nombre1 & "d" & nombre2
En principe, la fonction Val(nombre1 & "d" & nombre2) devait tout simplement retourner nombre1. Au lieu de cela, elle a renvoyé nombre1 * 10 ^ nombre2
Voici le code utilisé dans un module VBA:
Code:
1 2 3
| Function retVal(v As String) As Double
retVal = Val(v)
End Function |
Avec la saisie dans la feuille Excel de
=retVal("77d8")
avec nombre1 = 77 et nombre2 =8
je m'attendais à avoir comme résultat : 77
mais j'ai obtenu : 7 700 000 000
ou, selon le format des nombres de la cellule : 77 E+8
autrement dit : 77 * 10 puissance 8
La lettre "d" dans ce cas représente-t-elle un caractère spécial ?
Y a-t-il une explication à cela ?