• Initiateur de la discussion Initiateur de la discussion vmax67
  • 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 !

vmax67

XLDnaute Occasionnel
Bonjour à tous
J’ai besoin d’aide pour remplir une textbox en fonction de la valeur de 2 autres textboxs.
La textbox1 récupère une valeur d’une cellule (B7), ensuite ont saisi une valeur dans textbox2, dès lors que l’on quitte cette celle-ci, la M.A.J. doit se faire dans la texbox3
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Feuil1").Range("B7") = textbox1
If Value.TextBox1 > Value.TextBox2 Then Value.TextBox 3 = G
If Value.TextBox1 = Value.TextBox2 Then Value.TextBox 3 = N
If Value.TextBox1 < Value.TextBox2 Then Value.TextBox 3 = PEnd If
End Sub

Merci
Vmax
 
Re : Textbox

Hello,

Plutôt comme ceci :
Code:
Private Sub UserForm_Initialize()

    TextBox1.Value = Range("B7").Value
    TextBox2.SetFocus

End Sub
Private Sub [COLOR="Red"][B]Textbox2[/B][/COLOR]_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    If TextBox1.Value > TextBox2.Value Then TextBox3.Value = "G"
    If TextBox1.Value = TextBox2.Value Then TextBox3.Value = "N"
    If TextBox1.Value < TextBox2.Value Then TextBox3.Value = "P"

End Sub
1) Le résultat, si c'est du text doit être entouré de deux guillemets, ici le G, le P et le N
2) Les values étaient écrites à l'envers.

Regardes bien les deux codes.

Cdt, Hulk.
 
Dernière édition:
Re : Textbox

Bonjour vmax67,

Je pense qu'en écrivant ta macro ainsi, tu as plus de chance que ça marche :

Code:
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Feuil1").Range("B7") = TextBox1.Value
If TextBox1.Value > TextBox2.Value ThenTextBox3.Value = "G"
If TextBox1.Value = .TextBox2.Value Then TextBox3.Value = "N"
If TextBox1.Value < TextBox2.Value Then TextBox3.Value = "P"
End Sub

Cordialement.
 
Re : Textbox

Bonjour Vmax, bonjour le forum,

Peut-êter comme ça :
Code:
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Feuil1").Range("B7") = TextBox1.Value
End Sub
 
 
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If CDbl(TextBox1.Value) > CDbl(TextBox2.Value) Then TextBox3.Value = "G"
If CDbl(TextBox1.Value) = CDbl(TextBox2.Value) Then TextBox3.Value = "N"
If CDbl(TextBox1.Value) < CDbl(TextBox2.Value) Then TextBox3.Value = "P"
End Sub

Édition :

Bonjour Hulk, Papou-Net on s'est croisé

Édition 2 :

Oui le code de Hulk est plus correct puisque on récupère la valeur d'une cellule dans la TextBox et non pas on envoie la valeur de la TextBox dans une cellule...
 
Dernière édition:
Re : Textbox

Re, Papou, Robert,

Petite précision supplémentaire pour l'ami vmax :

Exemple : si tu écris
Code:
If Range("B1") = 100 Then MsgBox "Ok"
Tu n'as pas besoin de mettre End If tu es sur la même ligne.

Si tu écris
Code:
If Range("B1") = 100 Then
    MsgBox "Ok"
End if
Tu dois mettre le End If car tu es plus dans la même ligne. C'est surtout pour le cas (et souvent ça le sera) ou tu souhaites plus d'un résultat par condition... Tu me suis ?

Concrètement, si par exemple tu écris :
Code:
If Range("B1") = 100 Then MsgBox "Ok"
If Rnage("B1") = 100 Then Range("C1") = "Ok"
If Range("B1") = 100 Then Range("D1") = "Oui"
C'est comme si tu écrivais
Code:
If Range("B1") = 100 then
    MsgBox "Ok"
    Range("C1") = "Ok"
    Range("D1") = "Oui"
End If
Cordialement, Hulk.
 
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

Réponses
10
Affichages
664
Réponses
4
Affichages
586
Retour