En fait, la conversion est bonne en VBA mais le résultat récupéré dans la feuille de calcul y est "perverti"
à cause de la précision de 15 chiffres significatifs d'une feuille dans ma version …
Donc évidemment une formule directe dans la feuille de calcul ne fonctionne pas !
L'astuce consiste de renvoyer une conversion au format texte via une fonction personnalisée à insérer dans un module VBA normal :
Code :
- Function Hexa2Dec(Rg As Range) As String
- For Each Cel In Rg
- If Len(Cel) > 15 Then Exit Function
- If Len(Cel) > 0 Then V = V + CDec("&h" & Cel)
- Next
- Hexa2Dec = Format(V, "#,##0" )
- End Function
|
Cette fonction assure une conversion jusqu'à 15 caractères hexa et permet aussi d'effectuer une somme d'une plage !
Formule à saisir dans la première cellule de conversion si la première cellule à convertir est B2 :
Renvoyant du texte, la cellule doit être alignée à droite puis recopiée vers le bas.
Pour effectuer la somme des cellules B17 à B19 par exemple :
La formule fonctionne aussi s'il y a des cellules vides au sein de la plage.
Si cela ne convient pas, je pense être arrivé au bout de mes ressources …