Tester plusieur textbox vide

Fermé
Reptilon - 6 août 2014 à 14:03
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 août 2014 à 10:36
Bonjour,

Je suis entrain de faire une macro sous excel en vba, et je n'arrive pas à faire une règle : j'ai plusieurs textbox (de 1 a 4) et un pushbutton.

J'aimerai que le pushbutton apparaît que si les 4 textbox soit remplit.

Quelqu'un pourrait m'aider svp ?

Merci
A voir également:

7 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
6 août 2014 à 14:42
Bonjour,

Ou sont tes textbox? Feuille? Userform?
De quel type formulaire? Activex?
Qu'est ce qu'un pushbutton?
0
Personne ne peut m'aider ?? :(
0
Les textbox sont dans un Userform, et le pushbutton je voulais dire : commandButton pardon ^^
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
Modifié par pijaku le 7/08/2014 à 09:40
Bonjour,

Alors c'est très simple. Insère ce code dans le CommandButton :

ADAPTER : les noms des contrôles CommadButton1 ou 10???
TextBox de 1 à 4 ou autre....

Private Sub CommandButton1_Click()
Dim i As Integer, Cptr As Integer
Cptr = 0
For i = 1 To 4
If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
Next i
If Cptr < 4 Then
MsgBox "Les champs de 1 à 4 sont obligatoires!", vbCritical
Else
'place ici le code au cas ou tous les textbox sont remplis
End If
End Sub

EDIT : pardon j'ai mal lu la question...
Ma réponse dans 5 minutes...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
7 août 2014 à 09:44
Re-

Excuse moi, j'ai répondu trop vite en mélangeant plusieurs sujets...

Voici le code à ajouter dans le module de l'UserForm.
Attention, cela ne fonctionnera pas si tu utilises déjà les événements Exit de tes TextBox.
Option Explicit

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer, Cptr As Integer
Cptr = 0
For i = 1 To 4
If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
Next i
If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer, Cptr As Integer
Cptr = 0
For i = 1 To 4
If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
Next i
If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer, Cptr As Integer
Cptr = 0
For i = 1 To 4
If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
Next i
If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer, Cptr As Integer
Cptr = 0
For i = 1 To 4
If Me.Controls("TextBox" & i).Value <> "" Then Cptr = Cptr + 1
Next i
If Cptr = 4 Then CommandButton1.Visible = True Else CommandButton1.Visible = False
End Sub

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci beaucoup ! Je teste ça et je reviens te voir
0
J'ai coller ton code mais j'ai toujours le commandButton invisible :(

Je sens que c'est un code pas compliqué mais faut le trouver mdr
0
J'ai une erreur de compilation en fait :

Il me sélectionne "Option Explicit" en bleu

Et il me sélectionne en jaune la toute première phrase dans le module "Sub projet()"
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
7 août 2014 à 10:19
Voir l'aide Excel pour Option Explicit...
Tu peux, au choix :
- supprimer la ligne Option Explicit
- Placer cette ligne tout en haut de ton module...
0
Du coup je le retrouve qu'avec Sub Projet() en jaune ^^ la toute première ligne.

J'ai essayé plein de chose et toujours le même message
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
7 août 2014 à 10:26
Que vient donc faire ta Sub Projet ici?????
Le code que je t'ai donné doit être placé dans le module de l'userform tel qu'il est donné ici.

Vois ce fichier exemple :
https://www.cjoint.com/?DHhkAuc3fJl
0
Je suis sur le tel donc je peux pas voir ton fichier.

Y'a un truc que j'ai pas compris alors. Dans ma macro j'ai une feuille Userform1 et un module Module1. Je colle le code dans userform ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
7 août 2014 à 10:36
Je colle le code dans userform ?
oui.
0