Selection de caractères dans textbox lors d'une boucle [Résolu]

Signaler
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
-
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
-
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

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
48
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
48
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
- 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
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
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 ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Statut
Membre
Dernière intervention
1 février 2013
1
Ok merci je vais clore cette discussion et en ouvrir une autre.
Merci de votre aide a vous deux ^^