[-RESOLUTO-]Simplifier le code d'un USF

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ilino

XLDnaute Barbatruc
😱Forum buon anno😱
je souhaite a simplifier le code ci-dessous
Code:
If TextBox1.Value = "" Then
     Label9.Visible = True
     Exit Sub
    End If
If TextBox2.Value = "" Then
     Label11.Visible = True
     Exit Sub
    End If
 If TextBox4.Value = "" Then
     Label12.Visible = True
     Exit Sub
    End If
If TextBox3.Value = "" Then
     Label13.Visible = True
     Exit Sub
    End If
If TextBox5.Value = "" Then
     Label14.Visible = True
     Exit Sub
    End If
GRAZIE PAR AVANCE
EDIT: ci dessous un code presque ce que je cherche pour controler les TextBox avant la validation (grazie ROBERT )
PHP:
Private Sub CommandButton1_Click() 'bouton de commande de validation de l'UserForm
 Dim ctrl As Control 'déclare la variable ctrl
 For Each ctrl In Me.Controls 'boucle sur tous les contrôles de l'userform
     If TypeOf ctrl Is MSForms.TextBox And ctrl.Value = "" Then 'condition : si le type de contôle est une Textbox et si elle est vide
         ctrl.SetFocus 'place le curserur dans la Textbox
         MsgBox "Vous devez éditer ce champs !" 'message
     End If 'fin de la condition
 Next ctrl 'prochain contrôle de l'userform
 End Sub
mais il se bloque a ce niveau :
PHP:
 If TypeOf ctrl Is MSForms.TextBox And ctrl.Value = "" Then 'condition : si le type de contôle est une Textbox et si elle est vide
avec un message d'erreur d'execution 438
Propriété ou méthode non gérée par cet objet
GRAZIE
 

Pièces jointes

Dernière édition:
Re : Simplifier le code d'un USF

Bonjour Ilino,
If TextBox1.Value = "" Then
Label9.Visible = True
Exit Sub
End If
If TextBox2.Value = "" Then
Label11.Visible = True
Exit Sub
End If
If TextBox4.Value = "" Then
Label12.Visible = True
Exit Sub
End If
If TextBox3.Value = "" Then
Label13.Visible = True
Exit Sub
End If
If TextBox5.Value = "" Then
Label14.Visible = True
Exit Sub
End If

un moyen de simplifier serait d'abord de mettre un peu d'ordre

Si:
TBox1 est en rapport avec Label1
TBox2 est en rapport avec Label2
TBox3 est en rapport avec Label3
...................

tu pourrais alors utiliser uniquement ceci:

Code:
For i = 1 To 5
     If Me.Controls("TextBox" & i).Value = "" Then
     Me.Controls("Label" & i).Visible = True
End If

à+
Philippe
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
236
Réponses
3
Affichages
298
Réponses
3
Affichages
665
Réponses
2
Affichages
511
Réponses
35
Affichages
2 K
Retour