Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA SpinButton !!

morganagbadi

XLDnaute Nouveau
Bonjour,
J'ai créé un Sinbutton pour changer le valeur d'un textbox qui est varie entre 25 et 45 (avec une incrémentation de 1). Le problème c'est lorsque par exemple la valeur actuelle dans textbox est 35 et j'appuie sur le spinbutton pour incrémenter de 1 (pour changer la valeur de 35 à 36) la valeur retourne au min càd 25 puis 26 ...
Donc comment je peux faire ça !!
merci beaucoup d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : VBA SpinButton !!

Bonjour,

sans voir le code utilisé... difficile à dire... la valeur d'un "textbox" étant stockée sous forme detexte, utilise peut être la fonction "CByte" afin de la convertir...

bonne journée
@+
 

morganagbadi

XLDnaute Nouveau
Re : VBA SpinButton !!

Merci Pierrot,
J'ai utilisé le code suivant;

Private Sub SpinButton1_Change()
TextBox32.Value = SpinButton1.Value / 100
End Sub

Private Sub SpinButton1_SpinDown()
Dim MaValeur As Integer
MaValeur = CInt(Me.TextBox32.Value)
End Sub

Private Sub SpinButton1_SpinUp()
MaValeur = CInt(Me.TextBox32.Value)
End Sub

J'espère que ma question est claire, mon objectif c'est d'incrémenter la valeur actuelle dans le textbox sans retourne à la valeur minimale puis faire l'incrémenter !! merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : VBA SpinButton !!

Re,

avec ce que j'ai compris, pour des contrôles posés sur un userform, code à utiliser dans le module de ce même userform, nom des objets à adapter :
Code:
Option Explicit
Private Sub UserForm_Initialize()
With SpinButton1
    .Min = 25
    .Max = 45
    TextBox1 = .Value
End With
End Sub
Private Sub SpinButton1_SpinDown()
TextBox1 = SpinButton1
End Sub
Private Sub SpinButton1_SpinUp()
TextBox1 = SpinButton1
End Sub
 

morganagbadi

XLDnaute Nouveau
Re : VBA SpinButton !!

Je pense que ça est excellent, mais il reste qu'il initialise par le valeur max 45 tjrs; est ce qu'il y a truc qu'il sauvegarde la valeur précédente utilisé dans textbox !! et initialise chaque fois par ce valeur sauvegardé !!.
Excuse moi pierre je suis débutant sur VBA
 

Pierrot93

XLDnaute Barbatruc
Re : VBA SpinButton !!

Re,

dans un module standard :
Code:
Option Explicit
Public mavaleur As Double

dans le module "thisworkbook" :
Code:
Option Explicit
Private Sub Workbook_Open()
mavaleur = 25
End Sub

dans le module de l'userform :
Code:
Option Explicit
Private Sub UserForm_Initialize()
With SpinButton1
    .Min = 25
    .Max = 45
    .Value = mavaleur
    TextBox1 = mavaleur
End With
End Sub
Private Sub SpinButton1_SpinDown()
TextBox1 = SpinButton1
mavaleur = mavaleur - 1
End Sub
Private Sub SpinButton1_SpinUp()
TextBox1 = SpinButton1
mavaleur = mavaleur + 1
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : VBA SpinButton !!

Re,

un exemple qui permet de garder en mémoire la valeur après fermeture / enregistrement du claseur :
 

Pièces jointes

  • Classeur2.zip
    12.8 KB · Affichages: 199
  • Classeur2.zip
    12.8 KB · Affichages: 181
  • Classeur2.zip
    12.8 KB · Affichages: 222
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…