Fonction VBA CDBL

Fonction Excel VBA CDBL

VBA CDBL est une fonction de conversion de type de données intégrée et l'utilisation de cette fonction est qu'elle convertit le type de données de la valeur d'une variable donnée en un type de données Double, cette fonction ne prend qu'un seul argument qui est la valeur de la variable elle-même.

En VBA, «CDBL» signifie «Convertir en double». Cette fonction convertit le nombre donné en type de données Double. Jetez un œil à la syntaxe de la fonction CDBL.

  • L'expression est la valeur que nous essayons de convertir en type de données Double.

Tout nombre flottant qui est stocké comme autre que le type de données double peut être converti en appliquant la fonction CDBL.

Point à retenir ici: seules les valeurs numériques peuvent être converties en type de données Double. Tout autre chose que la valeur numérique ne peut pas être converti en double type, donc finissez par afficher «Erreur de non-concordance de type dans VBA» comme ci-dessous.

Avez-vous déjà utilisé un double type de données dans le codage VBA?

Sinon, cela vaut la peine d'y jeter un œil maintenant. Double est le type de données utilisé pour stocker la position décimale du nombre. Nous pouvons avoir jusqu'à 13 nombres décimaux flottants.

Pour un exemple, regardez le code VBA ci-dessous.

Dans ce qui précède, j'ai défini le type de variable (k) comme Integer. Dim k As Integer

Ensuite, j'ai attribué la valeur k = 25,4561248694615

Lorsque j'exécute le code, nous obtenons le résultat comme suit.

Nous avons obtenu le résultat 25. Puisque nous avons défini la variable comme Integer VBA arrondi à la valeur entière la plus proche.

Pour afficher le résultat tel qu'il est, nous devons changer le type de variable de Integer à Double.

Cela devrait nous donner le nombre exact que nous avons attribué à la variable.

Ok, en gardant cela à l'esprit, nous pouvons également convertir tous les nombres de fraction qui sont stockés en tant que type de données non double.

Exemples d'utilisation de la fonction VBA CDBL

Vous pouvez télécharger ce modèle de fonction VBA CDBL ici - Modèle de fonction VBA CDBL

Exemple 1

Pour démarrer la procédure, regardons le code ci-dessous.

Code:

 Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Maintenant, je vais exécuter le code et voir ce qui se passe.

Même si le type de variable VBA est «String», il affiche toujours les valeurs décimales. En effet, String peut être de tout type de type de données, de sorte que les nombres décimaux ou flottants s'affichent tels quels.

Maintenant, je vais changer le type de données de chaîne en entier.

Code:

 Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub 

Maintenant, je vais exécuter le code et voir ce qui se passe.

C'est là que la fonction CDBL joue un rôle essentiel pour convertir le type de données entier en double. Le code ci-dessous est donc le même pour vous.

Code:

 Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Cela convertira la valeur du type de données de chaîne en Double.

Exemple # 2

Convertissons maintenant le nombre 854.6947 qui est stocké comme Variant en type de données Double.

Code:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

La première variable que j'ai déclarée comme «Variante». Dim VaraintNumber

Remarque: Lorsque le type de variable n'est pas déclaré, il devient un type de données universel Variant.

Ensuite, j'ai déclaré une autre variable, c'est- à- dire Dim DoubleNumber As Double

Pour la première variable VaraintNumber, nous avons attribué la valeur 854,6947.

Maintenant, en utilisant la deuxième variable, nous avons appliqué la fonction CDBL pour convertir la valeur Variant en type de données Double.

DoubleNumber = CDbl (VaraintNumber)

La dernière partie est d'afficher le résultat dans la boîte de message. MsgBox DoubleNumber

Maintenant, je vais exécuter le code pour voir le résultat.

Choses à retenir

  • Un type de données double ne peut accepter que des nombres numériques.
  • Si une valeur de texte est fournie, cela provoquera une erreur de type Mismatch.
  • Un type de données double ne peut afficher que 13 chiffres de nombres flottants.