USERFORM avec bouton UP/DOWN

Bonjour a tout le monde!

J'aimerais ajouter une petite fonctionnalite a mon USERFORM. je vous envoi un fichier avec le UserForm.

Capucin

Un essai.

Damien

salut Damien, mis a part qu'il fallais augmenter et diminuer de 10 hexa (16 decimal), tout fonctionne comme je le voulais! J'ai corriger.

Je regarderai ton code plus tard, car j'essaierai de lui ajouter des commentaires.

Merci!

j'ai remarque un petit point: les zero a gauche ne sont pas conserve dans la fenetre du UserForm. Par exemple si je tappe "00A0" il ne reste que "A0". Peut-on modifier le code?

Private Sub SpinButton1_SpinDown()

valeurhex = CInt("&H" & TextBox1.Text) - 16

'If valeurhex >= 0 Then

TextBox1.Text = Hex(valeurhex)

Essaye comme ça:

Private Sub SpinButton1_SpinDown()
Dim longueur As Integer

longueur = Len(TextBox1.Text)
valeurhex = CInt("&H" & TextBox1.Text) - 10

    TextBox1.Text = Hex(valeurhex)

While Len(TextBox1.Text) < longueur
    TextBox1.Text = "0" & TextBox1.Text
Wend
End Sub
Private Sub SpinButton1_SpinUp()
Dim longueur As Integer
longueur = Len(TextBox1.Text)
valeurhex = CInt("&H" & TextBox1.Text) + 10

TextBox1.Text = Hex(valeurhex)

While Len(TextBox1.Text) < longueur
    TextBox1.Text = "0" & TextBox1.Text
Wend
End Sub

Et dis moi si cela répond a ton besoin

salut, excuses-moi pour le delais! J'ai implante ton code dans ma macro et au debut il me semble que ca marchais. En ce moment , lorsque je lance la macro plus bas, les zeros a gauche d'un nombre n'aparaissent plus. J'ai du bousiller ton code. Est-ce que tu vois une erreur:

Private Sub SpinButton1_SpinUp()
  Dim fin& 
  ActiveWindow.ScrollColumn = 65
  fin = Range("BM65000").End(xlUp).Row + 1     'position de la premiere ligne libre du tableau
 'fin = Cells(Rows.Count, 65).End(xlUp).Row + 1   (autre methode)
  Cells(fin, 65).Select  'pour s'assurer que cette location est toujours a l'ecran
  valeur = CInt("&H" & TextBox1.Text) + 16
  TextBox1.Text = Hex(valeur)
  Cells(fin, 65) = TextBox1.Value 'met l'adresse de debut de ligne

  While Len(TextBox1.Text) < 4
        TextBox1.Text = "0" & TextBox1.Text
  Wend

End Sub

Salut,

Question.

Le problème est :

  • Plus de zero dans la textbox ? (Si oui essaye le code suiivant)
  • Plus de zero dans la cellule ? (Quel est le format de cellule ? Si c'est nombre alors exemple ;0001 devient 1) => Il faut changer le format via macro AVANT d'écrire.

Dis moi

Private Sub SpinButton1_SpinUp()
  Dim longueur As Long
  Dim fin&
  longueur = Len(textbox1.Text)
  ActiveWindow.ScrollColumn = 65
  fin = Range("BM65000").End(xlUp).Row + 1     'position de la premiere ligne libre du tableau
'fin = Cells(Rows.Count, 65).End(xlUp).Row + 1   (autre methode)
 Cells(fin, 65).Select  'pour s'assurer que cette location est toujours a l'ecran
 valeur = CInt("&H" & textbox1.Text) + 16
  textbox1.Text = Hex(valeur)

  While Len(textbox1.Text) < longueur
        textbox1.Text = "0" & textbox1.Text
  Wend
  Cells(fin, 65) = textbox1.Value 'met l'adresse de debut de ligne

End Sub

Salut, le probleme est seulement dans la cellule mais j'ai essaye le format texte et ca ne marche pas!

Dans ton code tu copies la valeur dans la cellule puis tu ajoutes les zero dans la textbox.

Il faudrait faire l'inverse:

 
Cells(fin, 65) = TextBox1.Value 'met l'adresse de debut de ligne

  While Len(TextBox1.Text) < 4
        TextBox1.Text = "0" & TextBox1.Text
  Wend

====>>>

 
While Len(TextBox1.Text) < 4
        TextBox1.Text = "0" & TextBox1.Text
  Wend
 Cells(fin, 65) = TextBox1.Value 'met l'adresse de debut de ligne

Dis moi

damien

Salut Damien, ca bien du bon sang ton affaire! Mon probleme est regle, merci et bonne fin de semaine.

Michel

Rechercher des sujets similaires à "userform bouton down"