Utilisation de BIN2DEC dans une macro (Microsoft Excel)
La plupart des fonctions de feuille de calcul d’Excel sont accessibles dans VBA à l’aide de l’objet WorksheetFunction. Cependant, certaines fonctions peuvent ne pas sembler disponibles. Une de ces fonctions est BIN2DEC, qui convertit une valeur binaire en une valeur décimale. La raison pour laquelle il n’est pas disponible est que BIN2DEC n’est pas vraiment une fonction de feuille de calcul Excel – il fait partie du complément Analysis ToolPak.
Cela étant, vous avez deux options: vous pouvez soit charger l’équivalent VBA de Analysis ToolPak, soit créer votre propre fonction BIN2DEC dans VBA. Pour faire le premier, assurez-vous que dans Excel vous installez le module complémentaire Analysis ToolPak – VBA. S’il n’est pas répertorié dans les compléments disponibles, utilisez Windows pour rechercher le fichier ATPVBAEN.XLA. (Si vous utilisez une version linguistique d’Excel autre que l’anglais, la partie « EN »
du fichier sera différente.) Il s’agit du complément que vous souhaitez activer.
Une fois que vous avez activé le complément, affichez l’éditeur VBA et choisissez Outils | Références pour afficher la boîte de dialogue Références. Assurez-vous que la référence atpvbaen.xla est sélectionnée. Fermez la boîte de dialogue et vous pouvez ensuite utiliser BIN2DEC comme vous le feriez pour toute autre fonction de feuille de calcul.
L’autre option consiste à créer votre propre fonction BIN2DEC. Voici un exemple de fonction qui accepte une chaîne contenant les chiffres binaires et renvoie une valeur numérique qui représente la valeur décimale de cette chaîne.
Function Bin2Dec(sMyBin As String) As Long Dim x As Integer Dim iLen As Integer iLen = Len(sMyBin) - 1 For x = 0 To iLen Bin2Dec = Bin2Dec + _ Mid(sMyBin, iLen - x + 1, 1) * 2 ^ x Next End Function
Cette fonction n’a en fait pas les mêmes limitations que la fonction de feuille de calcul BIN2DEC; il fonctionnera avec des nombres binaires contenant plus de 10 chiffres.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (3063) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.