Trouver un textbox vide

Résolu
geraldvc Messages postés 13 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 22 décembre 2008 - 13 mars 2008 à 16:50
geraldvc Messages postés 13 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 22 décembre 2008 - 13 mars 2008 à 19:27
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 mars 2008 à 17:15
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
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
13 mars 2008 à 18:58
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
3
Lunikmarty Messages postés 55 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 17 avril 2008
13 mars 2008 à 19:06
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é.
3
Lunikmarty Messages postés 55 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 17 avril 2008
13 mars 2008 à 19:09
Index de 0 à 3 et non de 0 à 4, je me suis trompé. Sinon la méthode d'Exploreur marche aussi.
3

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

Posez votre question
cs_FPatrick Messages postés 122 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 8 août 2014 1
13 mars 2008 à 19:14
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.
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
13 mars 2008 à 19:10
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
0
geraldvc Messages postés 13 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 22 décembre 2008
13 mars 2008 à 19:27
super les mec voue êtes des champions
0
Rejoignez-nous