Bonjour à tous,
Me voilà confronté à un problème épineux. (vous me direz, si il y en a pas, pourquoi poster. )
Bref, le principe est extrèmement simple: J'ai un USF où on entre des fourchettes de valeurs. Au total, 4 Textbox (et des spins qui vont avec) pour 2 fourchettes de valeurs.
Première difficulté: 1 des 2 fourchettes peut avoir des valeurs décimales.
Je met donc en forme mes données pour qu'Excel les détecte bien comme étant un chiffre.
Mon souci est que lorsque je rentre 0.8 par exemple, le module "réceptionne" 1. Embetant. Je ne vois pas d'où peut provenir l'erreur.
Mon USF (GrapheName):
Mon module:
Me voilà confronté à un problème épineux. (vous me direz, si il y en a pas, pourquoi poster.
Bref, le principe est extrèmement simple: J'ai un USF où on entre des fourchettes de valeurs. Au total, 4 Textbox (et des spins qui vont avec) pour 2 fourchettes de valeurs.
Première difficulté: 1 des 2 fourchettes peut avoir des valeurs décimales.
Je met donc en forme mes données pour qu'Excel les détecte bien comme étant un chiffre.
Mon souci est que lorsque je rentre 0.8 par exemple, le module "réceptionne" 1. Embetant. Je ne vois pas d'où peut provenir l'erreur.
Mon USF (GrapheName):
VB:
Private Sub CommandButtonConf_Click()
Me.TextBoxMaxRef = FormatNumber(Me.TextBoxMaxRef)
Me.TextBoxMiniRef = FormatNumber(Me.TextBoxMiniRef)
If IsNumeric(Me.TextBoxMaxRef) And IsNumeric(Me.TextBoxMiniRef) Then
If (Me.TextBoxMaxRef > Me.TextBoxMiniRef) Then
Unload Me
ElseIf (Val(Me.TextBoxMaxRef) < Val(Me.TextBoxMiniRef)) Then
MsgBox "Le maximum doit être supérieur au minimum.", vbExclamation, "Attention"
ElseIf (Val(Me.TextBoxMaxRef) > 10) Or (Val(Me.TextBoxMiniRef) > 10) Then
MsgBox "Limite maximale atteinte", vbExclamation, "Attention"
ElseIf Or (Val(Me.TextBoxMaxRef) < 0) Or (Val(Me.TextBoxMiniRef) < 0) Then
MsgBox "Limite minimale atteinte", vbExclamation, "Attention"
Else
MsgBox "Fail"
End If
Else
MsgBox "La fourchette de valeur doit contenir des données numériques exclusivement.", vbExclamation, "Format érroné."
End If
End Sub
Private Sub SpinButtonMaxRef_SpinUp()
If Not IsNumeric(Me.TextBoxMaxRef) Then
Me.TextBoxMaxRef = 1
Else
If (Me.TextBoxMaxRef) < 10 Then
Me.TextBoxMaxRef.Value = Me.TextBoxMaxRef.Value + 0.1
Else
MsgBox "Limite maximale atteinte", vbExclamation, "Nombre maximum atteind"
End If
End If
Me.TextBoxMaxRef = FormatNumber(Me.TextBoxMaxRef)
End Sub
Private Sub Userform_Initialize()
Me.TextBoxMaxRef = 1
Me.TextBoxMiniRef = 0
End Sub
Mon module:
VB:
'On collecte les préférences d l'utilisateur sur les graphiques
GrapheName.Show
'récupération des valeurs entrées
Dim nbMaxRef As Integer
Dim nbMiniRef As Integer
nbMaxRef = GrapheName.TextBoxMaxRef.Value
nbMiniRef = GrapheName.TextBoxMiniRef.Value
Dernière édition: