Affichage de zone de texte

Résolu
slt, dans mon userform j'ai plusieurs texte box que je dois remplir en fonction de mes donnés; et les laisser vide ne me plait pas ; ce que je souhaite faire et que a chaque remplissage d'une textbox je click sur le bouton VALIDER; et le textbox suivant s'affiche automatiquement.
trés cordialement ABDELLAH

3 réponses

  1. Bonjour,

    Certes certes, pouvez vous mettre votre fichier a dispo
    sur ce site par exemple: https://mon-partage.fr/
    Pas de donnees confidentielles, mais des donnees quand meme
    0
    1. Modérateur
      Bonjour,

      a chaque remplissage d'une textbox je click sur le bouton VALIDER
      Tu parles d'une ergonomie...

      Cela concerne combien de TextBox?
      Est-ce que cela concerne tous les TextBox de ton UserForm ou seulement certains?
      0
      1. merci,
        non certains TextBox , pas tous
        0
    2. Modérateur
      Un exemple à adapter et tester :

      Option Explicit
      
      Private TxtSpec
      Private Indice As Integer
      Private NoEvents As Boolean
      
      Private Sub UserForm_Activate()
      Dim T
         TxtSpec = Array(TextBox1, TextBox3, TextBox5, TextBox7, TextBox9) 'liste des textbox à cacher
         Indice = -1
         For Each T In TxtSpec
            T.Visible = False
         Next T
         AuSuivant 'On affiche le premier des textboxes cachés et on lui donne le focus
         NoEvents = True
      End Sub
      
      Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
         If NoEvents Then AuSuivant
      End Sub
      
      Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
         If NoEvents Then AuSuivant
      End Sub
      
      Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
         If NoEvents Then AuSuivant
      End Sub
      
      Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
         If NoEvents Then AuSuivant
      End Sub
      
      Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
         If NoEvents Then AuSuivant
      End Sub
      
      Private Sub AuSuivant()
      'Affiche le TextBox masqué et lui donne le focus
         NoEvents = False
         If Indice < UBound(TxtSpec) Then
            Indice = Indice + 1
            With TxtSpec(Indice)
               .Visible = True
               .SetFocus
            End With
         End If
         NoEvents = True
      End Sub

      0