RAZ de plusieurs TextBox dans un UserForm

  • Initiateur de la discussion Initiateur de la discussion olic95
  • 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 !

olic95

XLDnaute Junior
Re,

Tout est dans le titre.

J'ai un UserForm qui contient une bonne 10aine de TextBox me permettant d'alimenter un tableau de clients. C'est assez banal.

Je voudrais savoir s'il est possible de vider toutes les zones de texte d'un seul coup car quand j'ai plusieurs clients à saisir, mon UserForm s'affiche avec les données du client précédent.

Merci.

Olivier.
 
Re : RAZ de plusieurs TextBox dans un UserForm

Bonjour Olivier, bonjour le forum,

Si tes textboxes sont nommées TextBox1 à TextBox10 tu pourrais faire une boucle du style :

Code:
For x = 1 To 10
Me.Controls("TextBox" & x).Value = ""
Next x

Au pire tu le fais manuellement si tu as renommé tes textboxes :

nom.value=""
prénom.value=""
etc...
 
Dernière édition:
Re : RAZ de plusieurs TextBox dans un UserForm

Malheureusement non... elles ont toutes un nom pour que je m'y retrouve... sinon NOM, PRENOM, ADRESSE, je ne sais jamais si c'est la 1, la 2 ou la 3 !!!

Est-ce qu'avec un For each TextBox in Userform ça marcherait ?

Si oui, quelle serait la syntaxe exacte car je ne la trouve pas !
 
Re : RAZ de plusieurs TextBox dans un UserForm

Bonjkour le fil, bonjour le forum,

Merci Michel je pensais à cette syntaxe en répondant à Olivier mais je ne la retrouvais pas dans mes archives et j'avoue que j'ai du mal à la mémoriser celle-là...
 
Re : RAZ de plusieurs TextBox dans un UserForm

Re bonjour le forum,

Je relance le sujet.

J'ai ce bout de code qui vérifie que mes zones de texte sont bien toutes renseignées

'
'Test des zones de texte pour vérifier qu'elles sont toutes renseignées
'
For Each CTRL In Me.Controls
If ((TypeOf CTRL Is MSForms.TextBox) And (CTRL.Visible = True)) Then
If Len(CTRL.Object.Value) = 0 Then
CTRL.Object.BackColor = &HC0E0FF ' Orange
ERREUR = ERREUR + 1
Else
CTRL.Object.BackColor = &HFFFFFF ' Blanc
End If
End If
Next CTRL

Disons que j'ai les zones nom, prénom, adresse, complément d'adresse, CP et ville.

Comment exclure la zone complément d'adresse du "For Each" vu que cette zone ne concerne pas tout le monde ?
 
Re : RAZ de plusieurs TextBox dans un UserForm

Re le forum,

Je viens de voir qu'il est possible de grouper des contrôles se trouvant sur un UserForm en les sélectionnant, clic droit de la souris, grouper.

Comment donner un nom à ce groupe ainsi créé ? Peut-être est-ce la solution à mon problème d'exclusion de TextBox !?

Merci de vos lumières.

Olivier.
 
Re : RAZ de plusieurs TextBox dans un UserForm

bonjour tout le monde


quand les noms de controles sont personnalisées, j'utilise un tableau array contenant les noms de controles, dans ton cas je ferais ceci :

Code:
For Each ctrl In Array("nom", "prénom", "adresse", "CP", "ville")
    If Me.Controls(ctrl) = "" Then
        Me.Controls(ctrl).Object.BackColor = &HC0E0FF
        ERREUR = ERREUR + 1
    Else
        Me.Controls(ctrl).Object.BackColor = &HFFFFFF
    End If
Next ctrl

salut
 
Re : RAZ de plusieurs TextBox dans un UserForm

Bonjour

une possiblilé c'est de mettre le même nom dans le tag du textbox et ensuite on peut tester le tag

si je reprens l'exemple de Michel en mettant à mes textbox concernés le tag "toto"

Code:
Dim Ctrl As Control
For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then
        If Ctrl.Tag = "toto" Then Ctrl.Object.Value = ""
    End If
Next Ctrl
 
Re : RAZ de plusieurs TextBox dans un UserForm

re

dans ton cas cela donnerait

Code:
     For Each CTRL In Me.Controls
        If ((TypeOf CTRL Is MSForms.TextBox) And (CTRL.Visible = True) and (CTRL.tag="toto")) Then
            If Len(CTRL.Object.Value) = 0 Then
                CTRL.Object.BackColor = &HC0E0FF        ' Orange
                ERREUR = ERREUR + 1
            Else
                CTRL.Object.BackColor = &HFFFFFF        ' Blanc
            End If
        End If
    Next CTRL
 
- 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
93
Affichages
4 K
Retour