Bonjour a tous
Voici mon probleme, j'ai 30 boutons nommer de Bt_1 à Bt_30 et je desires effacer leur text via.Caption
L'instruction ActiveSheet.Bt_01.Caption = "" ca marche tres bien.
mais je desire la reproduire dans une boucle pour eviter d'avoir a repeter 30 fois l'instruction.
apres avoir lu dans les forums certaine indication j'ai fait ce programme que je documente toujours pour ma gouverne


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub Efface()
'
' Efface
'Efface les boutons de facon manuel
'nous avond 30 bouton bt_1 a Bt_30
'on va faire une boucle avec une incrementation 30 fois
'compteur va etre la variable qui va etre incrementée a chaque boucle
'************************************************************
'
'definition des variables
'
'compteur  est une variable integer
Dim compteur As Integer
'lettre est la variable text pour la fin du nom de bouton
Dim lettre As String
'nom_du_bouton est une variable text pour le nom du bouton au debut
Dim nom_du_bouton As String
Dim nom_du_bouton_complet As String
'attribution des variables au debut
nom_du_bouton = "Bt_"
compteur = 1
'atribution a la variable string lettre, de la valeur integer compteur
'on ne peut pas attribuer en temp normal une valeur integer a une variable string
'la fonction CStr, fait le travail
'donc en l'etat la variable string "lettre" prend la valeur "1"
lettre = CStr(compteur)
'utilisation de la boucle while....wend
'while verifie que la valeur du compteur soit a 30 et s arrette
While compteur < 30
lettre = CStr(compteur)
nom_du_bouton_complet = nom_du_bouton & lettre
ActiveSheet.Controls("nom_du_bouton_complet").Caption = ""
compteur = compteur + 1
Wend
Seulement voila, j'ai le message d'erreur 438 proprietée ou méthode non gérée par cet objet.
La je comprend pas car caption est géré

Au secoure
Bon j'ai déjà regarder sur le forum des indications, mais j'ai rien pigé