Transfert de données USF/Module

Perth

XLDnaute Nouveau
Bonjour à tous,

Me voilà confronté à un problème épineux. (vous me direz, si il y en a pas, pourquoi poster. :p)

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: