J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes"
Voici le code utilisé à présent
If TextBox1 = "" The
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention"
End I
If TextBox2 = "" The
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention"
End I
If TextBox3 = "" The
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention"
End I
....
note_qual.Hid
End Su
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou plusieurs textbox ne sont pas conformes
Auriez-vous une solution?
Merci par avance
Isabelle
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Bonjour Isabelle
For Each ctr in Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
If ctr.Value ="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
End If
End If
Next ctr
Cordialement
Pascal
"Isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:F4A94FBC-A59E-42F6-AE36-051DAF7669FB@microsoft.com...
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message
s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
.....
note_qual.Hide
End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution??
Merci par avance!
Isabelle
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Michel Pierron
Bonjour papou; Tu as oublié la sortie de boucle; sinon, c'est comme avant. For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" Exit Sub End If End If Next ctr
MP
"papou" a écrit dans le message de news:
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Bonjour papou;
Tu as oublié la sortie de boucle; sinon, c'est comme avant.
For Each ctr in Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
If ctr.Value ="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
Exit Sub
End If
End If
Next ctr
MP
"papou" <oterceciprobin@otercecicg44.fr> a écrit dans le message de
news:u9xynZ8QEHA.2520@TK2MSFTNGP11.phx.gbl...
Bonjour Isabelle
For Each ctr in Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
If ctr.Value ="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
End If
End If
Next ctr
Cordialement
Pascal
"Isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:F4A94FBC-A59E-42F6-AE36-051DAF7669FB@microsoft.com...
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message
s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
.....
note_qual.Hide
End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution??
Merci par avance!
Isabelle
Bonjour papou; Tu as oublié la sortie de boucle; sinon, c'est comme avant. For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" Exit Sub End If End If Next ctr
MP
"papou" a écrit dans le message de news:
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
papou
Oui exact ! ;-)
Cordialement Pascal
"Michel Pierron" a écrit dans le message de news:
Bonjour papou; Tu as oublié la sortie de boucle; sinon, c'est comme avant. For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" Exit Sub End If End If Next ctr
MP
"papou" a écrit dans le message de news:
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de
news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Oui exact !
;-)
Cordialement
Pascal
"Michel Pierron" <mpierron@europtest.com> a écrit dans le message de
news:u5QLOV9QEHA.2976@TK2MSFTNGP10.phx.gbl...
Bonjour papou;
Tu as oublié la sortie de boucle; sinon, c'est comme avant.
For Each ctr in Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
If ctr.Value ="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
Exit Sub
End If
End If
Next ctr
MP
"papou" <oterceciprobin@otercecicg44.fr> a écrit dans le message de
news:u9xynZ8QEHA.2520@TK2MSFTNGP11.phx.gbl...
Bonjour Isabelle
For Each ctr in Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
If ctr.Value ="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
End If
End If
Next ctr
Cordialement
Pascal
"Isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message
de
Bonjour papou; Tu as oublié la sortie de boucle; sinon, c'est comme avant. For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" Exit Sub End If End If Next ctr
MP
"papou" a écrit dans le message de news:
Bonjour Isabelle For Each ctr in Me.Controls If TypeOf ctr Is MSForms.TextBox Then If ctr.Value ="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If End If Next ctr
Cordialement Pascal
"Isabelle" a écrit dans le message de
news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
docm
Bonjour isabelle. Je crois que tu cherches la commande ELSE comme dans ce qui suit:
If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") ElseIf TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") ElseIf TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") Else 'Aucun problème End If
Amicalement.
"Isabelle" wrote in message news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Bonjour isabelle.
Je crois que tu cherches la commande ELSE
comme dans ce qui suit:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
ElseIf TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
ElseIf TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
Else
'Aucun problème
End If
Amicalement.
"Isabelle" <anonymous@discussions.microsoft.com> wrote in message
news:F4A94FBC-A59E-42F6-AE36-051DAF7669FB@microsoft.com...
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message
s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
.....
note_qual.Hide
End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution??
Merci par avance!
Isabelle
Bonjour isabelle. Je crois que tu cherches la commande ELSE comme dans ce qui suit:
If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") ElseIf TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") ElseIf TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention") Else 'Aucun problème End If
Amicalement.
"Isabelle" wrote in message news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Puisque je viens de buter sur a peu près le même problème, voilà une autre solution :
For i=1 to 20 If Trim(Me.Controls("Textbox" & i).value)="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des texbox qui peuvent reter vides... Le petit plus, c'est la fonction Trim() qui te permet de supprimer les espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine composée uniquement d'espaces.
Loulou
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Puisque je viens de buter sur a peu près le même problème, voilà une autre
solution :
For i=1 to 20
If Trim(Me.Controls("Textbox" & i).value)="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
End If
Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment
les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des
texbox qui peuvent reter vides...
Le petit plus, c'est la fonction Trim() qui te permet de supprimer les
espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine
composée uniquement d'espaces.
Loulou
"Isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:F4A94FBC-A59E-42F6-AE36-051DAF7669FB@microsoft.com...
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message
s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
.....
note_qual.Hide
End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution??
Merci par avance!
Isabelle
Puisque je viens de buter sur a peu près le même problème, voilà une autre solution :
For i=1 to 20 If Trim(Me.Controls("Textbox" & i).value)="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des texbox qui peuvent reter vides... Le petit plus, c'est la fonction Trim() qui te permet de supprimer les espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine composée uniquement d'espaces.
Loulou
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly, "Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Gloops
Bonjour,
Alors si j'ai bien suivi, la question était qu'on ne voulait le message qu'une fois.
Ceci est une troisième syntaxe pour avoir un message par zone de texte vide. On peut corriger le problème de la même manière qu'avec la deuxième syntaxe.
Voilà. Maintenant, on a l'embarras du choix, ça fait trois manières de régler le problème, ou de faire pareil qu'avant. _________________________________________ Loulou Fox a écrit, le 27/05/2004 14:51 :
Puisque je viens de buter sur a peu près le même problème, voilà une autre solution :
For i=1 to 20 If Trim(Me.Controls("Textbox" & i).value)="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des texbox qui peuvent reter vides... Le petit plus, c'est la fonction Trim() qui te permet de supprimer les espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine composée uniquement d'espaces.
Loulou
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle
Bonjour,
Alors si j'ai bien suivi, la question était qu'on ne voulait le message
qu'une fois.
Ceci est une troisième syntaxe pour avoir un message par zone de texte
vide. On peut corriger le problème de la même manière qu'avec la
deuxième syntaxe.
Voilà. Maintenant, on a l'embarras du choix, ça fait trois manières de
régler le problème, ou de faire pareil qu'avant.
_________________________________________
Loulou Fox a écrit, le 27/05/2004 14:51 :
Puisque je viens de buter sur a peu près le même problème, voilà une autre
solution :
For i=1 to 20
If Trim(Me.Controls("Textbox" & i).value)="" Then
Msgbox "Au moins une zone de texte n'a pas été renseignée"
End If
Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment
les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des
texbox qui peuvent reter vides...
Le petit plus, c'est la fonction Trim() qui te permet de supprimer les
espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine
composée uniquement d'espaces.
Loulou
"Isabelle" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:F4A94FBC-A59E-42F6-AE36-051DAF7669FB@microsoft.com...
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique
sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message
s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent:
If TextBox1 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox2 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
If TextBox3 = "" Then
Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If
.....
note_qual.Hide
End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou
plusieurs textbox ne sont pas conformes.
Auriez-vous une solution??
Merci par avance!
Isabelle
Alors si j'ai bien suivi, la question était qu'on ne voulait le message qu'une fois.
Ceci est une troisième syntaxe pour avoir un message par zone de texte vide. On peut corriger le problème de la même manière qu'avec la deuxième syntaxe.
Voilà. Maintenant, on a l'embarras du choix, ça fait trois manières de régler le problème, ou de faire pareil qu'avant. _________________________________________ Loulou Fox a écrit, le 27/05/2004 14:51 :
Puisque je viens de buter sur a peu près le même problème, voilà une autre solution :
For i=1 to 20 If Trim(Me.Controls("Textbox" & i).value)="" Then Msgbox "Au moins une zone de texte n'a pas été renseignée" End If Next i
L'avantage par rapport à la solution de papou c'est que tu contrôle vraiment les textbox qu'il faut remplir (on peut imaginer qu'après 20 il y a des texbox qui peuvent reter vides... Le petit plus, c'est la fonction Trim() qui te permet de supprimer les espaces en début et fin de chaine, ce qui t'évite d'avoir une chaine composée uniquement d'espaces.
Loulou
"Isabelle" a écrit dans le message de news:
Bonjour,
J'ai un userform où il y a 20 textbox à remplir. Je souhaite établir un
contrôle se saisie commun, de manière à ce que quand l'utilisateur clique sur le bouton OK et qu'une ou plusieurs texbox sont vides, un message s'affiche disant : "Il y a des données manquantes".
Voici le code utilisé à présent: If TextBox1 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If If TextBox2 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If If TextBox3 = "" Then Message = MsgBox("Vous devez saisir TOUTES les notes!", vbOKOnly,
"Attention")
End If ..... note_qual.Hide End Sub
Dans ce cas, le message s'affiche autant de fois que le nombre de textbox
vides. J'aimerai qu'il se s'affiche qu'une seule fois, lorsque une ou plusieurs textbox ne sont pas conformes.
Auriez-vous une solution?? Merci par avance! Isabelle