Boite de dialogue conversion Hexa en décimal
Mdelacre
Messages postés
2
Statut
Membre
-
Mdelacre Messages postés 2 Statut Membre -
Mdelacre Messages postés 2 Statut Membre -
Bonsoir,
je suis novice dans les macro, je cherche à faire une boite de dialogue qui s'afficherait à l'ouverture du fichier permettant la conversion d'un nombre en HEXA (de 8 caractères) en un nombre en décimal (seulement l'affichage des 8 derniers caractères)
Exemple: Nombre en HEXA: 78C4D1A8 / Nombre en décimal: 26164648
Voila les fonctions basiques d'excel que j'utilise: =HEXDEC(STXT(A1;3;8))
mais là je le voudrais avec une macro et une interface type:
2 champs texte et un bouton permettant la conversion; je voudrais en plus que le chiffre convertit en décimal soit enregistré (Ctrl+C) pour permettre une recopie dans un autre document...
Merci bcp à ceux qui pourront m'aider.... je continue à chercher de mon côté (pour le moment, je n'ai sû faire que l'interface, soit pas grand chose!!!)
je suis novice dans les macro, je cherche à faire une boite de dialogue qui s'afficherait à l'ouverture du fichier permettant la conversion d'un nombre en HEXA (de 8 caractères) en un nombre en décimal (seulement l'affichage des 8 derniers caractères)
Exemple: Nombre en HEXA: 78C4D1A8 / Nombre en décimal: 26164648
Voila les fonctions basiques d'excel que j'utilise: =HEXDEC(STXT(A1;3;8))
mais là je le voudrais avec une macro et une interface type:
2 champs texte et un bouton permettant la conversion; je voudrais en plus que le chiffre convertit en décimal soit enregistré (Ctrl+C) pour permettre une recopie dans un autre document...
Merci bcp à ceux qui pourront m'aider.... je continue à chercher de mon côté (pour le moment, je n'ai sû faire que l'interface, soit pas grand chose!!!)
A voir également:
- Boite de dialogue conversion Hexa en décimal
- Dialogue boost - Accueil - Guide streaming
- Boite gmail pleine - Guide
- Se connecter à ma boite hotmail - Guide
- Boite gmail bloquée - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
3 réponses
Bonjour,
je t'ai fait les 2 conversions: decimal-> hexa et hexa-> decimal
Mettre 2 boutons et 2 textBox, c'est dans le textBox1 que tu mettras les données.
Voici le code:
je t'ai fait les 2 conversions: decimal-> hexa et hexa-> decimal
Mettre 2 boutons et 2 textBox, c'est dans le textBox1 que tu mettras les données.
Voici le code:
Option Explicit
Private Sub UserForm_Initialize()
CommandButton1.Caption = "decimal-->hexa"
CommandButton2.Caption = "hexa-->decimal"
End Sub
'decimal-->hexa
Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then Exit Sub
TextBox2.Text = convert_decimal_hexadecimal(TextBox1.Text)
End Sub
'hexa-->decimal
Private Sub CommandButton2_Click()
TextBox2.Text = Hex2Dec(TextBox1.Text)
TextBox2.Text = Right(TextBox2.Text, 8) '8 derniers caracteres
End Sub
'decimal-->hexa
Function convert_decimal_hexadecimal(mon_nombre_decimal)
Dim Hexa, temp
Hexa = ""
Do While mon_nombre_decimal > 0
temp = Int(mon_nombre_decimal / 16)
If mon_nombre_decimal - (temp * 16) = 10 Then
Hexa = "A"
ElseIf mon_nombre_decimal - (temp * 16) = 11 Then
Hexa = "B"
ElseIf mon_nombre_decimal - (temp * 16) = 12 Then
Hexa = "C"
ElseIf mon_nombre_decimal - (temp * 16) = 13 Then
Hexa = "D"
ElseIf mon_nombre_decimal - (temp * 16) = 14 Then
Hexa = "E"
ElseIf mon_nombre_decimal - (temp * 16) = 15 Then
Hexa = "F"
Else
Hexa = mon_nombre_decimal - (temp * 16)
End If
convert_decimal_hexadecimal = Hexa & convert_decimal_hexadecimal
mon_nombre_decimal = temp
Hexa = ""
Loop
End Function
'hexa-->decimal
Function Hex2Dec(Hexa As String) As Double
Dim i As Integer, Multi As Integer
Hex2Dec = 0
Hexa = UCase(Trim(Hexa))
If Not Hexa Like "*[G-Z]*" Then
For i = 1 To Len(Hexa)
Multi = CInt("&H" & (Mid(Hexa, Len(Hexa) - i + 1, 1)))
Hex2Dec = Hex2Dec + (Multi * 16 ^ (i - 1))
Next i
End If
End Function
If TextBox1.Text = "" Then Exit Sub