Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SL
Bonsoir
une possibilité pour des nombres de 0 à 36^3-1F655=ZZZ en base 36 : ÊR(48+MOD($A$1/36^2;36)+7*(MOD($A$1/36^2;36)>9))&CAR(48+MOD($A$1/36;36)+7*(MOD($A$1/36;36)>9))&CAR(48+MOD($A$1;36)+7*(MOD($A$1;36)>9))
rajouter un CAR(48+MOD($A$1/36^3;36)+7*(MOD($A$1/36^3;36)>9)) pour aller jusqu'à 36^4-1 = 1 679 615 = ZZZZ
Stéphane
"Lulu la nantaise" a écrit dans le message de news: %
Bonjour, Je souhaite convertir un nombre en base 36 (0,1,2 ... A,B, ... Z) dans une macro. Quelqu'un peut il m'aider, j'ai du mal !!! Merci beaucoup
Bonsoir
une possibilité pour des nombres de 0 à 36^3-1F655=ZZZ en base 36 :
ÊR(48+MOD($A$1/36^2;36)+7*(MOD($A$1/36^2;36)>9))&CAR(48+MOD($A$1/36;36)+7*(MOD($A$1/36;36)>9))&CAR(48+MOD($A$1;36)+7*(MOD($A$1;36)>9))
rajouter un CAR(48+MOD($A$1/36^3;36)+7*(MOD($A$1/36^3;36)>9)) pour aller
jusqu'à 36^4-1 = 1 679 615 = ZZZZ
Stéphane
"Lulu la nantaise" <je_suis_curieux@laposte.net> a écrit dans le message de
news: %23fuUF6dIGHA.1188@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je souhaite convertir un nombre en base 36 (0,1,2 ... A,B, ... Z) dans une
macro.
Quelqu'un peut il m'aider, j'ai du mal !!!
Merci beaucoup
une possibilité pour des nombres de 0 à 36^3-1F655=ZZZ en base 36 : ÊR(48+MOD($A$1/36^2;36)+7*(MOD($A$1/36^2;36)>9))&CAR(48+MOD($A$1/36;36)+7*(MOD($A$1/36;36)>9))&CAR(48+MOD($A$1;36)+7*(MOD($A$1;36)>9))
rajouter un CAR(48+MOD($A$1/36^3;36)+7*(MOD($A$1/36^3;36)>9)) pour aller jusqu'à 36^4-1 = 1 679 615 = ZZZZ
Stéphane
"Lulu la nantaise" a écrit dans le message de news: %
Bonjour, Je souhaite convertir un nombre en base 36 (0,1,2 ... A,B, ... Z) dans une macro. Quelqu'un peut il m'aider, j'ai du mal !!! Merci beaucoup
JB
Bonjour,
http://cjoint.com/?bzwnXXsNyv
Function Base(b, n) Do While n >= b result = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0, (n Mod b) + 1, 1), 1) & result n = n b Loop Base = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0, (n Mod b) + 1, 1), 1) & result End Function
Sub essai() x = 73 MsgBox Base(36, x) End Sub
Cordialement JB
Bonjour,
http://cjoint.com/?bzwnXXsNyv
Function Base(b, n)
Do While n >= b
result = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b >
0, (n Mod b) + 1, 1), 1) & result
n = n b
Loop
Base = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0,
(n Mod b) + 1, 1), 1) & result
End Function
Function Base(b, n) Do While n >= b result = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0, (n Mod b) + 1, 1), 1) & result n = n b Loop Base = Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", IIf(n Mod b > 0, (n Mod b) + 1, 1), 1) & result End Function
Sub essai() x = 73 MsgBox Base(36, x) End Sub
Cordialement JB
Modeste
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) & DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) & DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal
Function B2D(target, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
nbcar = Len(target)
rang = 0
XD = 0
For i = nbcar To 1 Step -1
pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1
If pos > base Then B2D = "?# base " & base: Exit Function
XD = XD + (pos * (base ^ rang))
rang = rang + 1
Next
B2D = XD
End Function
'--------------convertir décimal vers base x
Function D2B(target As Double, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DX = ""
Do While target >= base
DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX
target = target base
Loop
D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX
End Function
'--------------------convertir base x vers base y
Function B2B(target, base1 As Integer, base2 As Integer)
Application.Volatile
B2B = D2B(B2D(target, base1), base2)
End Function
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) & DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) & DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Lulu la nantaise
Merci à tous, je ne savias pas que ma demande allait déclencher tant intérêt !!!! Merci
"Modeste" a écrit dans le message de news:
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Merci à tous, je ne savias pas que ma demande allait déclencher tant intérêt
!!!!
Merci
"Modeste" <nomail@nomail.net> a écrit dans le message de
news:O1s6YjgIGHA.3144@TK2MSFTNGP11.phx.gbl...
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal
Function B2D(target, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
nbcar = Len(target)
rang = 0
XD = 0
For i = nbcar To 1 Step -1
pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1
If pos > base Then B2D = "?# base " & base: Exit Function
XD = XD + (pos * (base ^ rang))
rang = rang + 1
Next
B2D = XD
End Function
'--------------convertir décimal vers base x
Function D2B(target As Double, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DX = ""
Do While target >= base
DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1)
&
DX
target = target base
Loop
D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1)
&
DX
End Function
'--------------------convertir base x vers base y
Function B2B(target, base1 As Integer, base2 As Integer)
Application.Volatile
B2B = D2B(B2D(target, base1), base2)
End Function
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Merci à tous, je ne savias pas que ma demande allait déclencher tant intérêt !!!! Merci
"Modeste" a écrit dans le message de news:
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Lulu la nantaise
Merci mais c'est quoi n"" b? Lulu "Modeste" a écrit dans le message de news:
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Merci mais c'est quoi n"" b?
Lulu
"Modeste" <nomail@nomail.net> a écrit dans le message de
news:O1s6YjgIGHA.3144@TK2MSFTNGP11.phx.gbl...
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal
Function B2D(target, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
nbcar = Len(target)
rang = 0
XD = 0
For i = nbcar To 1 Step -1
pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1
If pos > base Then B2D = "?# base " & base: Exit Function
XD = XD + (pos * (base ^ rang))
rang = rang + 1
Next
B2D = XD
End Function
'--------------convertir décimal vers base x
Function D2B(target As Double, base As Integer)
Application.Volatile
Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DX = ""
Do While target >= base
DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1)
&
DX
target = target base
Loop
D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1)
&
DX
End Function
'--------------------convertir base x vers base y
Function B2B(target, base1 As Integer, base2 As Integer)
Application.Volatile
B2B = D2B(B2D(target, base1), base2)
End Function
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Merci mais c'est quoi n"" b? Lulu "Modeste" a écrit dans le message de news:
Bonsour® JB avec ferveur ;o))) vous nous disiez :
n = n b
;o))) Ah !! cet operateur si méconnu ...
pour enrichir le fil, et rendre l'opération réversible et multibase :
'--------------convertir base x vers décimal Function B2D(target, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" nbcar = Len(target) rang = 0 XD = 0 For i = nbcar To 1 Step -1 pos = InStr(Xbase, UCase(Mid(target, i, 1))) - 1 If pos > base Then B2D = "?# base " & base: Exit Function XD = XD + (pos * (base ^ rang)) rang = rang + 1 Next B2D = XD End Function
'--------------convertir décimal vers base x Function D2B(target As Double, base As Integer) Application.Volatile Xbase = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" DX = "" Do While target >= base DX = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX target = target base Loop D2B = Mid(Xbase, IIf(target Mod base > 0, (target Mod base) + 1, 1), 1) &
DX End Function
'--------------------convertir base x vers base y Function B2B(target, base1 As Integer, base2 As Integer) Application.Volatile B2B = D2B(B2D(target, base1), base2) End Function
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Modeste
Bonsour® Lulu la nantaise avec ferveur ;o))) vous nous disiez :
Merci mais c'est quoi n"" b?
l'opérateur "" correspondant à la fonction Quotient (Macro-complémentaire VBA) donne la partie entiere de la division A/B.
cet opérateur "" utilisable uniquement sous VBA est de fait tombé dans l'oubli ;o)))
en feuille de calcul on utilise = ENT(A/B) ou encore =TRONQUE(A/B;0)
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour® Lulu la nantaise avec ferveur ;o))) vous nous disiez :
Merci mais c'est quoi n"" b?
l'opérateur "" correspondant à la fonction Quotient (Macro-complémentaire
VBA)
donne la partie entiere de la division A/B.
cet opérateur "" utilisable uniquement sous VBA est de fait tombé dans
l'oubli ;o)))
en feuille de calcul on utilise
= ENT(A/B)
ou encore
=TRONQUE(A/B;0)
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr