Affichage de zone de texte

Résolu
abdellah_tadjine Messages postés 203 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 772
     
    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. abdellah_tadjine Messages postés 203 Statut Membre 6
       
      merci,
      non certains TextBox , pas tous
      0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 772
     
    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