Selection de caractères dans textbox lors d'une boucle

Résolu
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 - 8 janv. 2013 à 19:39
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 - 9 janv. 2013 à 17:26
Bonsoir,
Voilà ^^, je dispose de 6 textbox et je veux sélectionner les 12 et 13ème caractère et j'utilise d'habitude cette commande :
Textbox1.select(12, 2)

Cela fait 20 minutes que j'essaie de sélectionner une partie de ces textbox dans une boucle For...to....next pour éviter d'avoir à taper toutes les lignes de code mais une exception est générée :

For i = 1 To 6
            Me.Controls("textbox" & i).Select(12, 2)
        Next


Voici l'exception :

La résolution de surcharge a échoué, car aucun 'Select' accessible n'accepte ce nombre d'arguments.

Help please
Merci d'avance comme d'habitude :)

11 réponses

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
8 janv. 2013 à 23:45
tiens

For k = 1 To 6
    For Each ctrl In Me.Controls
       If TypeOf ctrl Is TextBox Then
          If DirectCast(ctrl, TextBox).Name = "TextBox" & k.ToString Then
          DirectCast(ctrl, TextBox).Select(12, 2)
              Exit For
          End If
       End If
    Next
Next
3
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
8 janv. 2013 à 22:14
Salut
For i = 0 To Me.Controls.Count - 1
                If Me.Controls(i).Name = "TextBox" & i.ToString Then
                    DirectCast(Me.Controls(i), TextBox).Select(12, 2)
                End If
            Next


l'inconvenient est que tu ne peux pas controler
l'ordre de tes texboxes dans la boucle
la boucle scanne les controls de ta form
si c'est un textbox alors select(12,2)
ce n'est pas forcement dans l'ordre voulu

peut etre il y a comme tu veux
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 janv. 2013 à 22:25
Bonjour,
Toutes ces textboxes :
- sont-elles dans le même container ?
- contiennent-elles une chaîne de longueur suffisante ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 janv. 2013 à 22:34
Et (on ne sait jamais) : où ce code figure-t-il exactement dans ton projet ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 1
8 janv. 2013 à 22:58
- Le code se trouve dans l'évènement click d'un bouton.
- Elle ont un maximum de 50 caractère
- Elle sont toutes dans la Form1.vb
Merci de votre aide :)

ShayW
Ton code marche mais effectivement je ne peux pas contrôler l'ordre des textbox ce qui est fort ennuyant car elles ont un ordre bien précis :s
0
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 1
9 janv. 2013 à 16:53
Merci ce code marche !
Mais j'ai un dernier petit soucis et je viens de m'en apercevoir ^^
J'ai au total environ 500 textbox éparpillé dans un tabcontrol.
J'en ai crée 30 et je veux faire un copier coller mais le problème c'est que le logiciel lorsque je colle les textbox inverse le numéro de textbox.
Je m'explique

Je copie : Textbox1, textbox2,.........,textbox30
Et lorsque je colle le logiciel le fait dans cette ordre : Textbox60, textbox59........,textbox31 :s
Il y aurait-il un moyen de paramétrer le logiciel de sorte à ce qu'il les colle en continu ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 janv. 2013 à 17:13
Attends-là ..
Veux-tu finalement dire que les 6 textboxes dont tu parles depuis le début ne sont pas directement sur ton Form, mais dans un tabcontrol ?
En dépit du fait que, interrogé, tu m'as répondu :
sont toutes dans la Form1.vb

Pas étonnant, dans ce cas que ta collection
Me.controls

les ignorait !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 1
9 janv. 2013 à 17:15
Non ça c'était le projet de départ mais maintenant que j'ai eu le code je viens de faire un peu de design et mise en forme dans un tabcontrol mais à l'origine oui il étaient sur la form.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 janv. 2013 à 17:16
Car la collection concernée ne devait alors pas être
Me.controls
mais très probablement (si toto est le nom du tabcontrol)
toto.Controls


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 janv. 2013 à 17:18
Ah === Croisés !
Dans ce cas : ta nouvelle question est sans rapport avec le sujet ouvert et devrait donc faire l'objet d'une discussion distincte.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
foussouy Messages postés 55 Date d'inscription dimanche 14 août 2011 Statut Membre Dernière intervention 1 février 2013 1
9 janv. 2013 à 17:26
Ok merci je vais clore cette discussion et en ouvrir une autre.
Merci de votre aide a vous deux ^^
0
Rejoignez-nous