Collection textbox

Fermé
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - Modifié par ccm81 le 22/10/2013 à 16:51
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 23 oct. 2013 à 11:16
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 vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
22 oct. 2013 à 16:51
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 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
22 oct. 2013 à 16:53
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 vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
22 oct. 2013 à 17:39
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 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
22 oct. 2013 à 19:11
J'avais déjà tenté!
Voilà le fichier
https://www.cjoint.com/?3JwtkGb1lPM

Merci
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
23 oct. 2013 à 10:32
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 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
Modifié par ccm81 le 23/10/2013 à 11:10
ç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 vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
23 oct. 2013 à 11:16
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