Vous avez apprécié ?
Partagez ;-)

Astuce VBA : utiliser des variables dans le nom d'un contrôle

Pouvoir agir sur un contrôle en fonction d'une variable peut s'avérer très utile pour développer plus efficacement.


Par exemple, pour supprimer le contenu de 20 TextBox, il est possible d'écrire :

Private Sub CommandButton_vider_Click()
   
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    TextBox5.Value = ""
    TextBox6.Value = ""
    TextBox7.Value = ""
    TextBox8.Value = ""
    TextBox9.Value = ""
    TextBox10.Value = ""
    TextBox11.Value = ""
    TextBox12.Value = ""
    TextBox13.Value = ""
    TextBox14.Value = ""
    TextBox15.Value = ""
    TextBox16.Value = ""
    TextBox17.Value = ""
    TextBox18.Value = ""
    TextBox19.Value = ""
    TextBox20.Value = ""
   
End Sub

Mais grâce à Controls, il est possible de réduire le code à 3 lignes :

Private Sub CommandButton_vider_Click()
   
    For i = 1 To 20
        Controls("TextBox" & i).Value = ""
    Next
   
End Sub

Tuto vidéo

Pour plus de détails sur l'utilisation de Controls(), consultez le tutoriel vidéo disponible sur le blog Excel-Pratique :

VBA UserForm Controls

Article : Contrôle avec variable