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

XL 2013 Trouver la valeur d'un Textbox en fonction de la valeur d'un autre

Appo1985

XLDnaute Occasionnel
Bonsoir à tous
J’ai deux Textbox, le premier indique la performance et le deuxième le point selon l’option cochez.
Je voudrais de l’aide pour qu’en saisissant la performance, je puisse trouver le point.
Ci-joint le fichier
Merci par avance
 

Pièces jointes

  • trouver_point_en_fonction_performance.xlsm
    17 KB · Affichages: 6
Solution
Bonsoir le Fil
une autre approche
VB:
Private Sub TextBox3_Change()
            Select Case True
                   Case OptionButton1 = True And TextBox3.Value = "7.3"
                                TextBox6.Value = "20"
                   Case OptionButton2 = True And TextBox3 = "7.3"
                                TextBox6.Value = "19"
                   Case OptionButton3 = True And TextBox3 = "7.3"
                                TextBox6.Value = "18"
                   Case Else
                                TextBox6.Value = ""
            End Select
End Sub
Bonne fin de Journée
Jean marie

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Appo1985

Essaie avec ceci car tu entres une valeur dans TextBox1 qui n'existe pas (de même que TextBox2) :
VB:
Private Sub TextBox3_Change()
If OptionButton1 = True And TextBox3.Value = "7.3" Then
TextBox6.Value = "20"
Else
If OptionButton2 = True And TextBox3 = "7.3" Then
TextBox6.Value = "19"
Else
If OptionButton3 = True And TextBox3 = "7.3" Then
TextBox6.Value = "18"
End If: End If: End If
End Sub
Bonne fin de dimanche à toutes & à tous
@+ Eric c
 

Eric C

XLDnaute Barbatruc
Re le forum
Bonjour Oneida

Ou encore :
VB:
Option Explicit

Private Sub OptionButton1_Click()
TextBox3 = "": TextBox6 = ""
End Sub

Private Sub OptionButton2_Click()
TextBox3 = "": TextBox6 = ""
End Sub


Private Sub OptionButton3_Click()
TextBox3 = "": TextBox6 = ""
End Sub

Private Sub TextBox3_Change()
If OptionButton1 = True And TextBox3 = "7.3" Then
TextBox6 = "20"
Else
If OptionButton2 = True And TextBox3 = "7.3" Then
TextBox6 = "19"
Else
If OptionButton3 = True And TextBox3 = "7.3" Then
TextBox6 = "18"
End If: End If: End If
End Sub
@+ Eric c
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonsoir le Fil
une autre approche
VB:
Private Sub TextBox3_Change()
            Select Case True
                   Case OptionButton1 = True And TextBox3.Value = "7.3"
                                TextBox6.Value = "20"
                   Case OptionButton2 = True And TextBox3 = "7.3"
                                TextBox6.Value = "19"
                   Case OptionButton3 = True And TextBox3 = "7.3"
                                TextBox6.Value = "18"
                   Case Else
                                TextBox6.Value = ""
            End Select
End Sub
Bonne fin de Journée
Jean marie
 

Appo1985

XLDnaute Occasionnel
Ça veut
Re
Mdr !
Laquelle ?

Bonne fin de Journée
Jean marie
Ok. La performance peut être par exemple 7,2 7,8 9,3 12,1 etc il ya au mois une vingtaine de performance à évaluer
Je voudrais à chaque fois affecter des points selon la performance (textbox1)

Ce que je voudrais que je n'avais pas signalé c'est de changer (actualiser) au click des optionbuttons
 

Appo1985

XLDnaute Occasionnel
Re
peux tu expliquer la démarche ?
C'est l'inverse ?
Jean marie
En fait c'est une course mais il ya un barème déjà établi.
Quand c'est un enfant qui a couru je dois cliquer sur optionbuttons1 et mettre le nombre de seconde.
Si c'est une femme optionbuttons2
C'est c'est un homme adulte optionbuttons3
Selon le barème le même nombre de seconde(performance) donne des points différents selon que c'est un enfant , une femme ou un homme.
Comme le barème indique beaucoup de performance à trouver l'équivalent de leur point , je ne pas pu les citer dans mon explication.
Je voulais une piste pour pouvoir trouver les points quelque.soit le nombre de seconde que la personne a pu faire (en suivante barème) et aussi une astuce pour amoindrir les répétitions dans le code
 

jcf6464

XLDnaute Impliqué
Bonsoir Appo, chti60, eric, les autres et le forum,

il serai bien d'avoir le barème lier avec les secondes (7.3 seconde =20 pour l'instant , mais si le gamin mais 7.5= combien de points etc....

je suppose que si je rentre 7.5 cela ne fonctionne pas

bonne continuation jcf
 

Appo1985

XLDnaute Occasionnel
Bonsoir
Le barème va de 7,0 à 12,1 seconde et chaque 0,1 seconde de plus , on retranche 1 point. le 0, 1 n'est pas aussi systématique. Il ya des exceptions (souvent c'est 0,2 seconde de plus). Il y en a donc beaucoup.
 

jcf6464

XLDnaute Impliqué
Bonsoir Appo, chti60, eric, les autres et le forum,

Déjà quel sport

Il y a bien un support papier pour le barème à appliquer pour les 3 catégories ,
donne des exemples de barèmes

7.0 =1 point
7.01= 2 points
etc...

bonne continuation jcf
Bonne journée
 

Eric C

XLDnaute Barbatruc
Re le forum,
Bonjour Appo1985, bonjour Jean-Marie, bonjour jcf

Pour poursuivre avec le fichier de notre ami Jean-Marie (je n'avais pas utilisé le Select Case pensant qu'il n'y avait que 3 éléments à traiter... mais là effectivement..)
Une idée :
VB:
Option Explicit

Private Sub CommandButton1_Click()
     Dim Ctrl As MSForms.Control
     For Each Ctrl In UserForm1.Controls
               If TypeOf Ctrl Is MSForms.CheckBox Then Ctrl.Value = False
               If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = ""
     Next Ctrl
End Sub

Private Sub TextBox1_Change()
           Select Case True
                   Case OptionButton1 = True And TextBox1.Value = "7.3" Or TextBox1.Value = "7.4"
                                 TextBox2.Value = "20"
                    Case OptionButton1 = True And TextBox1.Value = "7.5" Or TextBox1.Value = "7.6"
                                 TextBox2.Value = "19"
                    Case OptionButton1 = True And TextBox1.Value = "7.7" Or TextBox1.Value = "7.8"
                                 TextBox2.Value = "18"
                    'Etc jusqu'à la note la plus basse
                    '-----------------
                    Case OptionButton2 = True And TextBox1 = "7.3" Or TextBox1.Value = "7.4"
                                 TextBox2.Value = "20"
                    Case OptionButton3 = True And TextBox1 = "7.5" Or TextBox1.Value = "7.6"
                                 TextBox2.Value = "19"
                    Case OptionButton2 = True And TextBox1.Value = "7.7" Or TextBox1.Value = "7.8"
                                 TextBox2.Value = "18"
                    'Etc jusqu'à la note la plus basse
                     '-----------------
                    Case OptionButton3 = True And TextBox1 = "7.3" Or TextBox1.Value = "7.4"
                                 TextBox2.Value = "20"
                    Case OptionButton3 = True And TextBox1 = "7.5" Or TextBox1.Value = "7.6"
                                 TextBox2.Value = "19"
                    Case OptionButton3 = True And TextBox1.Value = "7.7" Or TextBox1.Value = "7.8"
                                 TextBox2.Value = "18"
                    'Etc jusqu'à la note la plus basse
                    
                    Case Else
                                TextBox2.Value = ""
            End Select
End Sub
Il doit certainement y avoir plus simple mais bon...
@+ Eric c
 

Pièces jointes

  • trouver_point_en_fonction_performance 2.xlsm
    20.6 KB · Affichages: 2

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…