VBA - TabIndex pour sélectionner des contrôles

Résolu/Fermé
kiwish Messages postés 4 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 15 février 2023 - 4 nov. 2022 à 16:26
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 7 nov. 2022 à 13:34

Bonjour,

Je bloque depuis un certain temps sur l'utilisation de la propriété TabIndex des contrôles afin d'effectuer une action seulement sur certains contrôles.

Dans mon cas, je cherche à remettre à zéro certains contrôles et ce, grâce à la propriété Tabindex :

Dim CTRL As Control

For Each CTRL In Me.Controls
    If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRIL Is MSForms.ComboBox And CTRL.TabIndex <= 4 Then
       CTRL.Value = ""
    End If
Next CTRL

Cependant, j'obtiens une erreur "Membre introuvable" à cause de l'utilisation de TabIndex.

Avez-vous une solution alternative ou est-ce que je m'y prend mal pour faire cela ?

Merci par avance.

Kiwish

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
4 nov. 2022 à 16:40

Bonjour,

essai ceci:

Option Explicit
Private Sub CommandButton1_Click()
Dim CTRL As Control
For Each CTRL In Me.Controls
    If TypeOf CTRL Is MSForms.TextBox Then
       If CTRL.TabIndex <= 4 Then
       CTRL.Value = ""
       End If
    End If
Next CTRL
End Sub

Voilà


1
kiwish Messages postés 4 Date d'inscription vendredi 4 novembre 2022 Statut Membre Dernière intervention 15 février 2023
7 nov. 2022 à 13:20

Merci beaucoup Le Pivert, 

Un peu bête de ma part de ne pas avoir pensé à cette solution simple plus tôt.

Pour ma culture, pourrais-tu m'expliquer l'intérêt ici de la première ligne ?

Merci encore.

Kiwish

0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 nov. 2022 à 13:34

Obliger a declarer les variables


0