Si textbox vide alors MSgbox

Marco60

XLDnaute Occasionnel
Re Re bonsoir le forum,

J'aimerais savoir comment on dit en VBA :

If une ou plusieurs de mes textbox sont vides alors Msgbox(mon message) exit sub

Else
Userform1.show

Merci encore et A

Marc
 

Climaudo

XLDnaute Occasionnel
re Marc, le forum

si tes textbox sont numérotées (textbox1, textbox2...)
tu peux utiliser cette boucle sur les contrôles

Private Sub valide_Click()
Dim i As Integer

For i = 1 To 3
If Me.Controls('Textbox' & i) = '' Then
MsgBox 'c'est vide'
Exit Sub
End If
Next i

userform1.show

End Sub


Si ils ont des noms spécifiques, tu peux utiliser cela :

if txttoto='' or txttata = '' then
msgbox 'c'est vide'
exit sub
end if

userform1.show

end sub
 

Climaudo

XLDnaute Occasionnel
re

il y a surement plus simple, mais en mettant Or avec toutes tes textbox cela fonctionne

si il s'agit du même classeur que le post précédent ( Lien supprimé ), il me semble difficile de faire une boucle.

Message édité par: climaudo, à: 27/03/2006 23:58
 

Climaudo

XLDnaute Occasionnel
re

j'ai trouvé en cherchant un peu dans les archives

je te propose cela qui vérifie pour chaque controle qui est un textbox si il est vide, alors dans ce cas message, focus sur ce controle et sortie de procédure ; si tout rempli, affiche userform1

Private Sub CommandButton1_Click()
Dim Ctrl As Control

For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox And Ctrl = '' Then
MsgBox 'c'est vide'
Ctrl.SetFocus
Exit Sub
End If
Next Ctrl

Userform1.Show
End Sub
 

Marco60

XLDnaute Occasionnel
Oups, désolé pas vu ton dernier post, j'avais pas raffraichi.

A 3 mots près, j'avais fais ce que tu me propose mais ça machais pas.

Je garde quand même ta boucle pour la tester.

Merci encore pour ta disponibilité.

A+

Marc
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 691
Membres
103 641
dernier inscrit
anouarkecita2