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:
Avec la saisie dans la feuille Excel de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function retVal(v As String) As Double retVal = Val(v) End Function
=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 ?
Partager