RAZ de plusieurs TextBox dans un UserForm

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.
 

Robert

XLDnaute Barbatruc
Repose en paix
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:

olic95

XLDnaute Junior
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 !
 

Robert

XLDnaute Barbatruc
Repose en paix
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à...
 

olic95

XLDnaute Junior
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 ?
 

olic95

XLDnaute Junior
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.
 

Hervé

XLDnaute Barbatruc
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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

Discussions similaires

Réponses
93
Affichages
2 K

Statistiques des forums

Discussions
312 502
Messages
2 089 022
Membres
104 006
dernier inscrit
CABROL