dép capcité - VB/VBA/VBS - Programmation
Marsh Posté le 08-11-2009 à 11:02:29
Salut, '1000000000000000 ce qui donne 32768 ( 2^15)
|
Pour Info voir http://support.microsoft.com/kb/189862/en-us
http://www.developpez.net/forums/s [...] 669&page=2
Marsh Posté le 08-11-2009 à 09:23:38
Public Function ChgBase(n As String) As Long
Dim r As Long
Dim j As Long
r = 1
For j = Len(n) To 1 Step -1
If Mid$(n, j, 1) = "1" Then
ChgBase = ChgBase + r
End If
r = r * 2
Next
End Function
Dans une cellule d'Excel (B2) je mets le nombre 1000000000000000 et puis dans une autre cellule du tableur je mets =ChgBase(B2)
le paramètre d'appel étant une référence à une cellule, j'obtiens 18 car l'ordi va convertir le nombre en 1E+15 lors de l'appel de la fonction. Je précise tout de même que j'ai bien mis le format de cellule de B2 en nombre (avec 0 décimale) et j'ai bien sous Excel en B2 la valeur 1000000000000000.
Lorsque je débug avec un point d'arrêt à l'appel de la fonction il me converti tout ça en 1E+15 (vérif effectuée avec un point d'arrêt). Je dois obligatoirement passer par une cellule pour déposer la valeur à convertir ça fait partie des oblig. Auriez vous une une solution ?