Collection textbox

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -  
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans ma feuille j'ai 4 textbox nommés tb1, tb2, tb3, tb4
Je voudrais accéder à l'un quelconque d'entre eux via une variable contenant son nom/numero
j'ai tenté
Shapes("tb" & nums).Select
Selection.ShapeRange.ZOrder msoBringToFront
Shapes("tb" & nums).Locked = False
Shapes("tb" & nums).Text = "toto"
les trois premières instructions fonctionnent bien mais l'accès à la propriété Text m'est refusée "propriété ou méthode non gérée par cet l'objet"
J'ai aussi tenté sans succès
Shapes("tb" & nums).Characters.Text = "toto"
Il doit y avoir une sombre histoire de Collection là dessous, mais je n'y arrive pas

Je suis sous Excel 2003

Merci




3 réponses

melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
Bonjour,

C'est simple.
Quand tu vas dans l'onglet développeur et que tu faix insertion. Tu vas voir qu'il y a deux groupes :
- 1 groupe contrôles de formulaire
- 1 groupe contrôles Activex.

Je pense que tu as créé des textbox via le contrôle de formulaire et du coup, tu as des pbs.

Je pense qu'il convient que tu les recrées sous activex et je pense que ca devrait résoudre ton pb.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour et merci mélanie

Non, ce sont bien des contrôles activeX (et je suis sous excel 2003)
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
essaie ca, sinon j'aurais besoin de ton fichier sur cjoint.com (tu colles le lien) pour que je puisse mieux t'aider :

sheets(1).textbox(i).select 'faut que tu mettes la feuille
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
J'avais déjà tenté!
Voilà le fichier
https://www.cjoint.com/?3JwtkGb1lPM

Merci
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
Bonjour,

Cela fait une demi heure que je tourne en rond.
Pour pouvoir indiquer du texte, le seul truc qui fonctionne est :
Textbox1.value = "Toto".

Autrement dit, il faut que tut renommes tes textbox comme ca Textbox1, Textbox2...et que tu fasses une boucle du style :
Select Case nums
Case 1: textbox1.value = textbox1.value+1
Case 2: textbox2.Value = textbox2.value+1
Case 3: textbox3.value= textbox3.value
Case 4: textbox4.value = textbox4.value

Car je ne vois pas autrement. A moins de faire un userform.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
ça je sais faire, mais ce que je voudrai c'est éviter le select case (plus de 15 cas) et pouvoir indexer les noms de mes textbox afin de passer avec une boucle sur les noms des textbox
je pense qu'il faut créer une collection de mes textbox, mais ça je ne sais pas faire
je vais attendre un peu au cas où, puis relancer un nouveau post en précisant dans le titre "fabriquer collection de textbox"
merci
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
j'ai bien compris ce que tu voulais faire et je ne sais pas non plus.
Car normalement, dans un userform utiliser
Textbox(nums).value = 1 fonctionne.

Mais les textbox directement inséré dans la feuille, je ne sais pas faire.
0