Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 12/03/2010, 19h23   #1
Membre du Club
 
Inscription : novembre 2009
Messages : 95
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 95
Points : 61
Points : 61
Par défaut Vérifier si USERFORM est vide

Bonjour le Forum

J'ai un userform avec 18 TextBox et Combobox.
Il y aussi un bouton Valider et un bouton cancel.

J'essai de vérifier si l'utilisateur a fait au moins une entrée lorsqu'il a pressé sur le bouton Valider.

Je peux le faire en vérifiant chacune des boites, mais il y a t-il un moyen plus rapide de type Isempty(userform) ?

Merci pour intérêt

Dernière modification par Bugzy1963 ; 12/03/2010 à 19h49.
Bugzy1963 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 20h05   #2
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
bonjour Bugzy1963 le forum "brut comme cela " je suppose que tu as renommme tes textboxs pour simplifier !!! autrement une boucle dans ce style est suffisante

Code :
1
2
3
4
5
6
Dim x As Byte, i As Byte
For x = 1 To 18
If Controls("textbox" & x) <> "" Then
i = i + 1
Next x
'ect...
autrement dans ce style je suppose un seul combobox

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub valider_Click()
Dim j As Control, i As Byte
For Each j In Controls
If TypeOf j Is MSForms.TextBox Then
 If j <> "" Then
 i = i + 1
 End If: End If: Next
If i > 0 Or ComboBox1 <> "" Then
MsgBox "renseignee"
Else
MsgBox "pas renseignee"
End If
End Sub
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 20h42   #3
Membre du Club
 
Inscription : novembre 2009
Messages : 95
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : novembre 2009
Messages : 95
Points : 61
Points : 61
Merci Laetitia

Je n'ai pas renommé les Texbox car j'utilise Cstr pour retirer les valeurs numériques.

Je ne connais pas la fonction Controls, mais je vais chercher,

J'imagine qu'il y aura une autre boucle pour les Combobox.

merci
Bugzy1963 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 08h22   #4
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
re, en complement pour les combobox je suppose nb..=4

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub valider_Click()
 Dim x As Byte, i As Byte
 For x = 1 To 18
 If Controls("textbox" & x) <> "" Then i = i + 1
 Next x
 For x = 1 To 4
 If Controls("combobox" & x) <> "" Then i = i + 1
 Next x
 If i > 0 Then
 MsgBox "renseignee"
 Else
 MsgBox "pas renseignee"
 End If
End Sub
ou encore renommee ou pas!!! plus simple dans certains cas

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub valider_Click()
 Dim j As Control, i As Byte
 For Each j In Controls
 If TypeOf j Is MSForms.TextBox Or TypeOf j Is MSForms.ComboBox Then
 If j <> "" Then i = i + 1
 End If: Next
 If i > 0 Then
 MsgBox "renseignee"
 Else
 MsgBox "pas renseignee"
 End If
End Sub
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 03h34.


 
 
 
 
Partenaires

Hébergement Web