Quelle est la signification de l’utilisation du symbole # dans Excel VBA ?
Il est utilisé comme ceci :
a = b /100#
Je ne comprends pas la signification du # après le 100 ?
Quelle est la signification de l’utilisation du symbole # dans Excel VBA ?
Il est utilisé comme ceci :
a = b /100#
Je ne comprends pas la signification du # après le 100 ?
Le caractère de déclaration de type pour Double est le signe dièse (#). Également appelé HASH.
Les autres caractères de déclaration de type sont :
Integer %
Long &
Currency @
Single !
Double #
String $
Je ne comprends pas la signification du # ici.
Cela implique que lorsque l’expression est évaluée, le nombre devant le caractère de déclaration de type est traité comme un type de données spécifique plutôt que comme un Variant.
Voyez cet exemple, qui sont essentiellement identiques.
Sub Sample1()
Dim a#
a = 1.2
Debug.Print a
End Sub
Sub Sample2()
Dim a As Double
a = 1.2
Debug.Print a
End Sub
EDIT
Permettez-moi de vous l’expliquer un peu plus en détail.
Considérez ces deux procédures :
Sub Sample1()
Dim a As Double, b As Integer
b = 32767
a = b * 100
Debug.Print a
End Sub
Sub Sample2()
Dim a As Double, b As Integer
b = 32767
a = b * 100#
Debug.Print a
End Sub
Question : L’une d’elles va échouer. Pouvez-vous deviner laquelle ?
Réponse : La 1ère procédure Sub Sample1() va échouer.
Raison :
Dans Sample2, lorsque vous faites b * 100#, le résultat du calcul sera de type Double. Puisqu’il est dans les limites du type Double, le calcul réussit et le résultat est assigné à la variable a.
Maintenant, dans Sample1, lorsque vous faites b * 100, le résultat du calcul sera de type Integer, puisque les deux opérandes sont de type Integer. Mais le résultat du calcul dépasse les limites de stockage du type Integer. En conséquence, une erreur sera générée.
J’espère que cela vous aide ![]()