Un ami vient de m'envoyer le message suivant:
Ma réponse a été: "Je vais demander."
Et c'est ce que je fais ici.
_
Je viens de découvrir une bizarrerie dans Visual Basic for Applications pour Excel.
Dans un module VBA Excel 2007, j'ai voulu utiliser la fonction Val pour convertir un texte en nombre.
Voici le code utilisé :
nombre1 & "d" & nombre2 (par exemple Val("54d3"), avec nombre1=54 et nombre2=3)
En principe, la fonction Val(nombre1 & "d" & nombre2) devait tout simplement retourner nombre1 (soit 54 dans l'exemple).
Au lieu de cela, elle a renvoyé nombre1 * 10 puissance nombre2
(dans l'exemple 54 * 10 puissance 3)
Ainsi, avec cette saisie dans la feuille Excel :

au lieu de 77 en C4 et 54 en C6, on obtient ceci:

Je ne sais pas si cette bizarrerie a été relevée par ailleurs.
As-tu une explication pour cela ?
Dans un module VBA Excel 2007, j'ai voulu utiliser la fonction Val pour convertir un texte en nombre.
Voici le code utilisé :
Function retVal(v As String) As Double
retVal = Val(v)
End Function
Tout allait bien jusqu'à ce que j'envoie à cette fonction une chaîne du type :retVal = Val(v)
End Function
nombre1 & "d" & nombre2 (par exemple Val("54d3"), avec nombre1=54 et nombre2=3)
En principe, la fonction Val(nombre1 & "d" & nombre2) devait tout simplement retourner nombre1 (soit 54 dans l'exemple).
Au lieu de cela, elle a renvoyé nombre1 * 10 puissance nombre2
(dans l'exemple 54 * 10 puissance 3)
Ainsi, avec cette saisie dans la feuille Excel :

au lieu de 77 en C4 et 54 en C6, on obtient ceci:

Je ne sais pas si cette bizarrerie a été relevée par ailleurs.
As-tu une explication pour cela ?
Et c'est ce que je fais ici.
_
Commentaire