Trouver un textbox vide

Résolu
Signaler
Messages postés
13
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
22 décembre 2008
-
Messages postés
13
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
22 décembre 2008
-
Bonjour,
J'ai un textbox appler "choixarticle" je veux l'envoyer d'un un textbox appler "article1" mais si "article1" n'ai pas vide il faut aller dans "article2" si il n'ai pas vide il faut aller dans "article3" ainsi de suite.

voila si un brave  qui peut m'aider. merci Gérald

voici la formule pour transférer d'un textbox à un autre :  article1.Text = choixarticle.Text

7 réponses

Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
approche naïve:

If article1.Text = "" Then
    article1.Text = choixarticle.Text
ElseIf article2.Text = "" Then
    article2.Text = choixarticle.Text
ElseIf article3.Text = "" Then
    article3.Text = choixarticle.Text
ElseIf article4.Text = "" Then
    article4.Text = choixarticle.Text
ElseIf article5.Text = "" Then
    article5.Text = choixarticle.Text
ElseIf article6.Text = "" Then
    article6.Text = choixarticle.Text
ElseIf article7.Text = "" Then
    article7.Text = choixarticle.Text
ElseIf article8.Text = "" Then
    article8.Text = choixarticle.Text
ElseIf article9.Text = "" Then
    article9.Text = choixarticle.Text
ElseIf article10.Text = "" Then
    article10.Text = choixarticle.Text
ElseIf article11.Text = "" Then
    article11.Text = choixarticle.Text
ElseIf article12.Text = "" Then
    article12.Text = choixarticle.Text
ElseIf article13.Text = "" Then
    article13.Text = choixarticle.Text
ElseIf article14.Text = "" Then
    article14.Text = choixarticle.Text
ElseIf article15.Text = "" Then
    article15.Text = choixarticle.Text
ElseIf article16.Text = "" Then
    article16.Text = choixarticle.Text
ElseIf article17.Text = "" Then
    article17.Text = choixarticle.Text
ElseIf article18.Text = "" Then
    article18.Text = choixarticle.Text
ElseIf article19.Text = "" Then
    article19.Text = choixarticle.Text
ElseIf article20.Text = "" Then
    article20.Text = choixarticle.Text
Else
    MessageBox.Show "Pas encore assez de TextBoxes"
EndIf

après, on ferais mieux d'avoir sous le coude toutes ces textboxes dans un tableau, et de faire une boucle For dessus, afin de trouver une case vide.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut,

Dans la même mogique que Renfield(Re), on pourrai aussi faire comme cela :

Private Sub Form_Load()


Dim iTextBoxes As Integer


For i = 1 To 2 ' Nombres de Txt
    If Me.Controls("article" & CStr(i)).Text = "" Then
       Me.Controls("article" & CStr(i)).Text = choixarticle.Text
    End If
Next i


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


<hr />

Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
Messages postés
55
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
17 avril 2008

Pourquoi tu n'a pas indexé tes TextBox ?? Tu te créer une TextBox Article, tu fais des copier coller de cette TextBox (Répond oui au message pour créer un groupe de contrôle). Si tu fais 4 copier coller tu obtiendra des Index qui vont de 0 à 4, il te suffit ensuite de faire une boucle.)

For i = 0 To 3

    If article(Index).Text = "" Then
        article(Index)1.Text = choixarticle.Text
        Exit For
    End If

Next i

Voila, moi je travail en VB6 mais sur VB.NET ou VB 2005 il me semble que l'on peut également crée des TextBox indexé.
Messages postés
55
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
17 avril 2008

Index de 0 à 3 et non de 0 à 4, je me suis trompé. Sinon la méthode d'Exploreur marche aussi.
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Dim intIndex As Integer
Dim strControlName As String

For intIndex =  0 To Me.Controls.Count -1
    If left(me.Controls(intIndex).name,7) = "article" then
        strControlName = "article" & intIndex
        if Me.Controls(strControlName).Text  = "" then
            Me.Controls(strControlName).Text = choixarticle.Text
            exit for
        end if
    end if
Next intIndex

Sinon tu peux aussi travailler avec des tableaux de textbox (en utilisant la propriété index du textbox) et faire une boucle du meme genre (pour ce faire tu fais un copier coller du controle article).

Dim intIndex As Integer


For intIndex =  0 To article.count - 1
    If article(intIndex).text = "" then
       article(intIndex).text = choixarticle.Text
       exit for
    end if

Next intIndex

Bon courage.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut,

Il me semble bien qu'il n'y a plus d'index en .net

A+
Exploreur

 Linux a un noyau, Windows un pépin

<hr />
Un jeu en flash sympa...? Voir ici
Si vous voulez vous inscrire
Messages postés
13
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
22 décembre 2008

super les mec voue êtes des champions