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

Messages postés
55
Date d'inscription
dimanche 14 août 2011
Dernière intervention
1 février 2013
- - Dernière réponse : foussouy
Messages postés
55
Date d'inscription
dimanche 14 août 2011
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 :)
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
3
Merci
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

Merci cs_ShayW 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_ShayW
Messages postés
3241
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 novembre 2018
0
Merci
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
Commenter la réponse de cs_ShayW
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Dernière intervention
1 février 2013
0
Merci
- 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
Commenter la réponse de foussouy
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Dernière intervention
1 février 2013
0
Merci
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 ?
Commenter la réponse de foussouy
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Dernière intervention
1 février 2013
0
Merci
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.
Commenter la réponse de foussouy
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
55
Date d'inscription
dimanche 14 août 2011
Dernière intervention
1 février 2013
0
Merci
Ok merci je vais clore cette discussion et en ouvrir une autre.
Merci de votre aide a vous deux ^^
Commenter la réponse de foussouy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.