Exécuter une chaîne en tant que code

Résolu
dakota77 Messages postés 11 Date d'inscription samedi 1 septembre 2007 Statut Membre Dernière intervention 25 février 2010 - 11 nov. 2007 à 22:07
EdBsb Messages postés 6 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 7 décembre 2007 - 7 déc. 2007 à 19:18
Bonjour,  j'ai un formulaire dans lequel se trouvent plusieurs contrôles :
CB1 à CB10

Sur tous ces contrôles je voudrais changer la propriété caption.
Exemple : CB1.caption="TEST" puis CB2.caption="TEST" et ainsi de suite jusqu'à 10.

Je voudrais le faire avec une boucle FOR NEXT
for x = 1 to 10
    m="CB" & ltrim(str(x)) & ".caption='TEST'"
next x
Comment faire pour exécuter la chaîne m : "CB1.CAPTION='test'" ?

D'avance merci pour votre aide.
Mario

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 nov. 2007 à 22:23
En fait dans ton cas, il ne faut pas vouloir "executer" une quelqconue chaine, il faut acceder directement au controle pour pouvoir changer sa propriété.

Le mieux aurait été que tu fasse un groupe de controle, ça aurait été plus simple.

Ceci-dit tu peux tout de même acceder à chaque controle avec un index, en passant par la collections Controls, qui est la collection des controles posés sur ta feuille :

Dim i As Integer
For i = 1 To 10
  Me.Controls("CB" & i).Caption = "TEST"
Next

, ----
[code.aspx?ID=41455 By Renfield]

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
dakota77 Messages postés 11 Date d'inscription samedi 1 septembre 2007 Statut Membre Dernière intervention 25 février 2010
11 nov. 2007 à 22:28
Cela fonctionne !

Un grand merci à toi.
Mario
0
EdBsb Messages postés 6 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 7 décembre 2007
7 déc. 2007 à 19:18
ça faisait plusieurs jours que je cherchais ! 

Je teste dès demain.

merci Casy.
0
Rejoignez-nous