Convertir une string en object
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:
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é:oops:
Ca marche pas ni avec l'un nis avec l'autre
Bonjours messieurs
tout d'abord merci de m'avoir répondue si vite.
Mais :
le bouton est un bouton Contrôle active x
ActiveSheet.Shapes("Bt_" & Format(i, "00")).Caption = "" me fait une erreur de type l'élément portant ce nom est introuvable ( ce qui me fait douter de la classe du bouton).
et
ActiveSheet.Controls("Bt_" & Format(i, "00")).Caption = "" me donne pour erreur 438 Propriété ou méthode non gérée par cet objet
Au secours:aie:
je ne comprend pas votre question
je ne vois pas ce que vous me demander, je n'utilise pas l'enregistreur de macro a ce stade:weird:
j'avais deja fait les modif
j'avais meme renomez les boutons Bt_01 etc, le probleme est ailleur
grand merci a vous la routine fonctionne
Grand merci a vous la routine fonctionne, j ai encore appris un truc, et c'est pas finis, issu du basic de la grande époque, je me met a jour......
a très bientôt