Copier une chaine de caractères et coller dans 4 box différentes

Signaler
Messages postés
4
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
6 avril 2010
-
Messages postés
4
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
6 avril 2010
-
Bonjour a tous,

Voilà je voudrais savoir si l'un de vous saurait comment faire pour qu'une chaine de caractère de type XXXX XX XXXX XXX que je selectionne et copy. Soit collée dans 4 txtbox différentes.
(un peu comme quand on fait un copier/coller d'un numéro de serie pour un logiciel et que tous les numéros de se collent dans les bonnes cases)


Par contre il faut prendre en compte le fait que la fameuse chaine de caractères peut etre legerement différente. Mais je voudrais surtout que ça detecte lesespaces comme étant des tabulations.

Il doit y avoir une astuce mais elle m'echappe ...



Asmo

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
J'ai fait truc du genre en VB6 :
J'ai 4 TextBox sensées accueillir 4 lettres maxi (mais sans utiliser la limitation du composant)
Dans la première, dans le maTextBox_Change, j'ai fait comme ça :
Si, dans cette Sub, la longueur du texte que contient ma première TextBox est supérieur à 4, c'est qu'il s'agit d'un copier/coller de la chaine entière.
Alors, je fais le découpage de la chaine pour remplir les 4 TextBox, sachant que je gère dans les _KeyPress l'appui des touches et le changement de TextBox lorsque je compte 4 caractères (etc)
Pour ton découpage, je te laisse jongler avec le Split

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
Bonjour,
voici un exemple de découpage avec Split :
    Private Sub splitString()

        Dim sText As String
        Dim sLines() As String

        '*** Récupère le texte entré.
        sText = txbEntree.Text

        '*** Retourne un tableau qui contient les sous-chaînes du texte entré,
        '    délimité par le caractère spécifié. Ici : l'espace.
        sLines = sText.Split(CChar(" "))

        '*** chaque sous-chaîne est récupérée par les 4 TextBox.
        TextBox1.Text = sLines(0)
        TextBox2.Text = sLines(1)
        TextBox3.Text = sLines(2)
        TextBox4.Text = sLines(3)

    End Sub


Reste à activer la proc ci dessus comme ci dessous par exemple :
    Private Sub txbEntree_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txbEntree.Validating
        splitString()
    End Sub
Messages postés
4
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
6 avril 2010

Merci c'est nickel ça tourne comme sur des roulettes :D


Asmo