pitchoune85
Messages postés8Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 7 mars 2006
-
6 mars 2006 à 15:49
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016
-
8 mars 2006 à 11:49
Bonjour
je viens de créer mon 1er usf :
j'ai un 1er textbox ou l'on doit saisir le nom et le prenom d'une personne ; les deux étant séparé d'un espace sans quoi j'ai un message d'erreur.
Quelqu'un peut -il me dire si je suis sur la bonne voie en écrivant ceci :
et quelle condition ajouter ?
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox1.Text) <> 0 & " " & 0 Then
MsgBox ("! Vous devez saisir le NOM puis le prénom du responsable de famille" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
D'autres part, j'ai ensuite 4 textbox les unes après les autres pour saisir un rib :
j'ai défini pour chacune les longueurs que l'on doit saisir :
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox6.Text) <> 5 Then
MsgBox ("! Vous devez saisir 5 caractères dans le champ BANQUE" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
J'aimerai qu'a la saisie, mon curseur passe directement d'une box à l'autre qd le nombre de chiffre max est atteint
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 6 mars 2006 à 16:06
Bonjour,
Si le nom et le prénom de la personne sont dans le meme textbox alors la 2ième lignes peut se simplifier comme suit:
If Len(Usf1.TextBox1.Text) <> 0 Then
Pour le changement de textbox définis la propriété MaxLength de celles-ci à 5.
Ensuite dans l'événement Change de tes 3 premières textbox tu va donner le focus à la textbox suivante comme suit:
Private Sub Text6_Change()
If Len(Text6.Text) = 5 Then Text7.SetFocus
End Sub
Private Sub Text7_Change()
If Len(Text7.Text) = 5 Then Text8.SetFocus
End Sub
pitchoune85
Messages postés8Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 7 mars 2006 6 mars 2006 à 18:18
bonjour willy, darksidious et etniqs
merci de vos réponses
willy, tb pour faire suivre la saisie du rib
ca fonctionne super bien
pour la saisie du nom et prenom
j'ai laissr tomber pour l'instant
j'ai un souci, depuis que j'ai rajouter mes 2 boutons oui et non,
tout se passe bien dans la saisie des textbox
mais je n'arrive pas à valider pour saisir les données dans ma feuille excel
quelqu'un a t-il une solution ,???
voici ma macro :
Private Sub cmdvalider_Click()
If Len(Usf1.TextBox1.Text) <> 0 Then 'MsgBox ("! Vous devez saisir le NOM puis le prénom du responsable de famille" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
If Usf1.TextBox1.Text = "" Then
MsgBox "Vous n'avez rien saisi ;" & Chr(10) & "Veuillez saisir le Nom et le prénom du responsable de la famille !"
Exit Sub
End If
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox6.Text) < 5 Then
MsgBox ("! Vous devez saisir 5 caractères dans le champ BANQUE" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox7.Text) < 5 Then
MsgBox ("! Vous devez saisir 5 caractères dans le champ GUICHET" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox8.Text) < 11 Then
MsgBox ("! Vous devez saisir 11 caractères dans le champ N° COMPTE" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
If Usf1.Optionoui.Value = True Then
If Len(Usf1.TextBox9.Text) < 2 Then
MsgBox ("! Vous devez saisir 2 caractères dans le champ CLE" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Exit Sub
End If
End If
pitchoune85
Messages postés8Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 7 mars 2006 6 mars 2006 à 20:02
désolé mais c'est la première fois que je fais un formulaire
et je ne sais pas trop comment tous ça fonctionne :
private sub ??
module : justement dans mon fichier, j'ai une vingtaine de macro dans une dizaine de module --> pourquoi telle macro ds tel module : i don't know...
tous ce ne me dis pas la réponse au fait que ca ne fonctionne pas...
asecher
Messages postés262Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention27 avril 20071 6 mars 2006 à 20:45
Bon, si on reprend le code :
If Len(Usf1.TextBox1.Text) <> 0 Then 'MsgBox ("! Vous devez saisir le NOM puis le prénom du responsable de famille" & Chr(10) & "Veuillez vérifier et recommancer votre saisi !")
Ca veut dire que tu engueule l'utilisateur d'avoir saisi quelque chose (Len>0 ya du texte)
If Usf1.TextBox1.Text = "" Then
MsgBox "Vous n'avez rien saisi ;" & Chr(10) & "Veuillez saisir le Nom et le prénom du responsable de la famille !"
Exit Sub
s'il n'a rien saisi, tu l'enguelue encore (mais là, tu as raison....)
Pour le RIB, ça semble OK
après, je ne pige pas ce que tu eux faire, renvoyer les données vers ta feuille principale ?
Petit commentaire sur le message de etniqs : un module private peux renvoyer des infos vers un public.... (et pas le contraire)
pitchoune85
Messages postés8Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 7 mars 2006 6 mars 2006 à 20:51
merci bcp asecher
j'ai supprimer l'enguelade lorsque l'utilisateur rentre un texte et maintenant ça fonctionne.
En fait je cherchais une solution pour lui dire qu'il fallait 2 mots séparés par un espace
encore merci pour tes explications
pitchoune
pitchoune85
Messages postés8Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 7 mars 2006 6 mars 2006 à 20:51
merci bcp asecher
j'ai supprimer l'enguelade lorsque l'utilisateur rentre un texte et maintenant ça fonctionne.
En fait je cherchais une solution pour lui dire qu'il fallait 2 mots séparés par un espace
encore merci pour tes explications
pitchoune
asecher
Messages postés262Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention27 avril 20071 6 mars 2006 à 21:06
Pour savoir s'il y a deux mots, tu peux faire :
if Instr(Usf1.TextBox1.Text," ")<1 then
msgbox "ben, y a qu'un mot, là..."
end if
'on recherche la position d'un espace dans la chaîne
si l'appel est clôturé, il faut clicker quelque part (je ne sais pas trop où) pour que ton message soit en vert et que d'autres utilisateurs ne se creusent pas la tête....
asecher
Messages postés262Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention27 avril 20071 6 mars 2006 à 23:07
As-tu bien réactivé la feuille "destinantrice" ? De plus, n'as-tu pas inversé le sélect de ta cellule active (et oublier de changer de cellule) et son remplissage :
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Usf2.ComboBox1.Text
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = Usf2.ComboBox2.Text
ActiveCell.Offset(0, 3).Select
ActiveCell.Value = Usf2.ComboBox3.Text
et ça m'en remettait un en bas de page
Private Sub cmdvalider2_Click()
End Sub
j'ai donc recopier ma macro ds le second et ça marche
par contre je ne sais pas pourquoi
merci qd même
ah oui, il fallait bien que je laisse mes offset à (0, 1)
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 8 mars 2006 à 11:49
Petit commentaire sur le message de etniqs : un module private peux renvoyer des infos vers un public.... (et pas le contraire)
Oui, je sais, je lève un pb que très peu de débutant (en programmation) sait, et puis je ne sais pas comment est foutu l'appel de son userform entre les listes et les renvois vers listbox :
si c'est du genre private -> private -> public : y'a un trou ...entre les 2 premiers private (si modules différents)