Problème VBA EXCEL
Résolu/Fermé
LANGAZOU
Messages postés
95
Date d'inscription
vendredi 16 janvier 2015
Statut
Membre
Dernière intervention
8 novembre 2015
-
7 févr. 2015 à 09:03
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 11 févr. 2015 à 08:58
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 11 févr. 2015 à 08:58
A voir également:
- Byval cancel as msforms.returnboolean
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
9 févr. 2015 à 10:40
9 févr. 2015 à 10:40
Bonjour,
Un début de réponse avec l'événement _Exit des textbox :
Un début de réponse avec l'événement _Exit des textbox :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsNumeric(TextBox1) Then MsgBox "Valeur non numérique" TextBox1 = "" Cancel = True Exit Sub End If If TextBox2 = "" Then Exit Sub If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max" TextBox1 = "" Cancel = True End If End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsNumeric(TextBox2) Then MsgBox "Valeur non numérique" TextBox2 = "" Cancel = True Exit Sub End If If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max" TextBox1.SetFocus End If End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
10 févr. 2015 à 12:11
10 févr. 2015 à 12:11
je veux lorsque le textbox1 est vide et le textbox 2 non vide le EXIT sur le textbox2 me renvoie au textbox1 pour remplissage. j'ai essayé le code suivant mais ca marche pas:
Le paramètre Cancel sert à autoriser (ou interdire) la sortie du Textbox. En mettant Cancel = True dans l'événement Exit du TextBox2 tu empêche la sortie...
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1 = "" Then MsgBox " Borne Min vide !" Cancel = True End If End sub
Le paramètre Cancel sert à autoriser (ou interdire) la sortie du Textbox. En mettant Cancel = True dans l'événement Exit du TextBox2 tu empêche la sortie...
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1 = "" Then MsgBox " Borne Min vide !" TextBox1.SetFocus End If End sub
LANGAZOU
Messages postés
95
Date d'inscription
vendredi 16 janvier 2015
Statut
Membre
Dernière intervention
8 novembre 2015
Modifié par pijaku le 11/02/2015 à 07:44
Modifié par pijaku le 11/02/2015 à 07:44
j'ai essayé mais le set focus n'a pas marché il se jette directement sur le textbox 3 !!
voici mon code complet:
voici mon code complet:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox2 Mod 500 <> 0 Then TextBox2 = "" Cancel = True End If If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max" TextBox17.SetFocus End If If TextBox1 = "" Then MsgBox " Borne Min vide !" TextBox1.SetFocus End If End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1 = "" Then Cancel = False Exit Sub End If If TextBox1 Mod 500 <> 0 Then TextBox1 = "" Cancel = True End If If TextBox2 = "" Then Exit Sub End If If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max" TextBox1 = "" Cancel = True End If End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
LANGAZOU
Messages postés
95
Date d'inscription
vendredi 16 janvier 2015
Statut
Membre
Dernière intervention
8 novembre 2015
Modifié par pijaku le 11/02/2015 à 07:45
Modifié par pijaku le 11/02/2015 à 07:45
Bonjour,
1- pour poster du code ici, place le entre les balises codes prévues à cet effet. Mode d'emploi.
2- Tu m'étonnes que le SetFocus ne fonctionne pas... Tu attribues le Focus au TextBox17... Relis toi!
3- teste ce code :
1- pour poster du code ici, place le entre les balises codes prévues à cet effet. Mode d'emploi.
2- Tu m'étonnes que le SetFocus ne fonctionne pas... Tu attribues le Focus au TextBox17... Relis toi!
3- teste ce code :
Dim DejaPasse As Boolean 'cette ligne doit être en entête de ton Module, pas en plein milieu!!! Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If DejaPasse Then Exit Sub DejaPasse = False If TextBox2 = "" Then MsgBox "Borne max vide !" Cancel = True End If If TextBox1 = "" Then MsgBox "Borne Min vide !" DejaPasse = True TextBox1.SetFocus End If If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max !" DejaPasse = True TextBox1 = "" TextBox1.SetFocus End If If TextBox2 Mod 500 <> 0 Then TextBox2 = "" Cancel = True End If End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1 = "" Then Cancel = True Exit Sub End If If TextBox1 Mod 500 <> 0 Then TextBox1 = "" Cancel = True End If If TextBox2 = "" Then Exit Sub End If If Val(TextBox1) > Val(TextBox2) Then MsgBox "Borne Min > Borne Max" TextBox1 = "" Cancel = True End If End Sub
LANGAZOU
Messages postés
95
Date d'inscription
vendredi 16 janvier 2015
Statut
Membre
Dernière intervention
8 novembre 2015
11 févr. 2015 à 08:58
11 févr. 2015 à 08:58
C'est bon j'ai repéré l'erreur.
Merci pour votre aide.
Merci pour votre aide.
10 févr. 2015 à 10:58
Merci beaucoup pour votre aide, ca marche très bien et désolé pour le retard.
à trés bientôt.