Fonction de texte VBA

Ce tutoriel montrera comment utiliser la fonction de texte dans VBA.

La fonction Texte est utilisée dans une feuille de calcul Excel pour renvoyer une partie d'une chaîne dans un format spécifié. La fonction Text n'est pas une fonction VBA, mais peut être utilisée dans VBA en faisant référence à l'objet Worksheet Function.

WorksheetFunction.Text

La syntaxe en VBA serait donc la suivante :

=WorksheetFunction.Text (Arg1, Arg2)

où Arg1 est la chaîne d'origine et Arg2 est le format de la chaîne que nous voulons renvoyer.

1234567 Sous-testWSFunction()Dim dte comme chaîneDim strD en tant que chaînedte = "05/05/2021"strD= WorksheetFunction.Text(dte, "mmmm")MsgBox strDFin du sous-marin

Dans l'exemple ci-dessus, la variable de chaîne dte stocke une date. La fonction Texte renvoie ensuite la partie mois de la date.

Formater des nombres avec la fonction de texte

Nous pouvons utiliser la fonction texte pour formater les nombres dans notre code VBA.

1234567 Sous FormatMonnaie()Dim strNum en tant que chaîneDim strFormat As StringStrNum = "75896.125"strFormat = WorksheetFunction.Text(strNum, "$#,##0.00")MsgBox strFormatFin du sous-marin

La chaîne renvoyée dans l'exemple ci-dessus serait de 75 896,13 $.

D'autres exemples de formatage de nombres à l'aide de la fonction de texte sont :

12345678 =WorksheetFunction.Text(75896.125, "0")cela retournera : "75896"=WorksheetFunction.Text(75896.125, "0.0")cela retournera : "75896.1"=WorksheetFunction.Text(75896.125, "#,##0")cela retournera : "75,896"

Cependant, Excel dispose d'une fonction VBA intégrée que nous pouvons utiliser à la place de la fonction Texte si nous souhaitons formater des dates et des nombres dans VBA. C'est ce qu'on appelle la fonction Format.

La fonction de formatage VBA

En prenant l'exemple ci-dessus, plutôt que d'utiliser WorksheetFunction.Text, nous pouvons simplement utiliser la fonction Format pour obtenir les mêmes résultats.

12345678 =Format(75896.125, "0")cela retournera : "75896"=Format(75896.125, "0.0")cela retournera : "75896.1"=Format(75896.125, "#,##0")cela retournera : "75,896"

De même, nous pouvons utiliser la fonction Format pour formater les parties de date d'une chaîne.

1234567 Sous TestFormatFunction()Dim dte comme chaîneDim strD en tant que chaînedte = "05/05/2021"strD= Format(dte, "mmmm")MsgBox strDFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave