Parcours de textebox dans userform

Résolu
cs_matth72 Messages postés 71 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 8 décembre 2011 - 23 avril 2008 à 17:35
cs_matth72 Messages postés 71 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 8 décembre 2011 - 24 avril 2008 à 09:22
bonjour à tous je suis nouveau dans  le monde des macros vb je suis actuellement en stage et ma mission et de créer un logiciel avec solidwork de façon à générer automatique des segment de piston de voiture, mobylette, aviation ....
puis par la suite faire automatiquement la mise en plan, actuellement tout sa fonctionne très bien, je suis dans la phase d' éradication des erreurs.
donc mon probleme est très simple j'ai environ 70 textbox sur mon userform et je voudrai toutes les parcourir pour savoir s'il n'y en a pas une de vide (dans ce cas mon programme plante) j'ai donc commencer à faire quelque chose mais en vain

  
Dim textbox As Varient
Dim i As Integer
For i = 1 To 70
      If  textbox ( i ) = vide Then
msg = ("textbox vide")
reponse = msgbox(msg, vbOkOnly, "erreur")
Else
GoTo Line1
End If
Next i

line1: 'suite du programme....

Voila merci et bon courage

3 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
23 avril 2008 à 18:55
bonjour
plusieurs chose:
quel est le message d'erreur?
est ce que tes textbox sont groupée (est ce qu'elle ont un indice?)
pourquoi déclarer une variable qui porte le nom de ta textbox? de plus ce n'est pas :If  textbox ( i ) vide Then mais If  textbox ( i ) "" Then
d'autre par ton GoToline1 tel qu'il est placé fait que dès que tu as trouvé une textbox non vide tu sors de la boucle et donc tu ne testes pas les autres (de plus évites les goto c'est "ringard" )
une derniere suggestion plutot que
msg = ("textbox vide")
fais plutot
msg = ("textbox " & i & " vide")
comme ça tu auras dans ton message le numéro de la textbox vide  (quand il y en a 70 ça peut être pratique

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 22
23 avril 2008 à 23:54
Userform, macro, textbox1... tu sembles être sous Excel, donc VBA et pas VB. Regarde ma signature...

Comme il n'y a pas de possibilité d'indexer les contrôles sous VBA Excel, mais  seulement sous VB6, tu dois passer par la collection Controls

For 1 = 1 to 70
    If Me.Controls("Textbox" & i) = "" Then
       msgbox "Le textbox: Textbox" & i & " est vide", vbExclamation, "MonProgramme"
    End If
Next

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
3
cs_matth72 Messages postés 71 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 8 décembre 2011
24 avril 2008 à 09:22
merci beaucoup pour votre aide sa va m' évité de passer une journée à me prendre la tete 
encore merci a+++ 
0
Rejoignez-nous