Boite de dialogue conversion Hexa en décimal
Mdelacre
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Mdelacre Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Mdelacre Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
- Boite gmail saturée - Guide
- Dialogue boost - Accueil - Guide streaming
- Boite gmail bloquée - Guide
- Se connecter à ma boite hotmail - 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
J'ai oublié la recopie du résultat dans une cellule:
'hexa-->decimal Private Sub CommandButton2_Click() If TextBox1.Text = "" Then Exit Sub TextBox2.Text = Hex2Dec(TextBox1.Text) TextBox2.Text = Right(TextBox2.Text, 8) '8 derniers caracteres Range("A1").Value = TextBox2.Text End Sub
If TextBox1.Text = "" Then Exit Sub