Transfert de données USF/Module

  • Initiateur de la discussion Initiateur de la discussion Perth
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Perth

XLDnaute Nouveau
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):
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
174
Réponses
4
Affichages
240
Réponses
0
Affichages
571
Réponses
4
Affichages
224
Retour