probleme d'enchainement d'userform

  • Initiateur de la discussion dj.run
  • Date de début
D

dj.run

Guest
re bonjour à toutes et à tous,

sur un autre fil j'avais dit " à bientôt avec une autres question" et je pensais pas que ce serai si vite. mais là j'y perds mon latin.

ça fait des heures que j'essaye de faire une "temporisation" dans un usf tant que la saisie n'est pas bonne. le probleme c'est qu'il enchaine sur un autre usf .

j'ai essayé avec do..loop que je decouvre et ça marche pas j'ai voulu m'aventurer avec for next goto et j'y arrive pas non plus . je suis a me demander si'il ne vaudrai mieux pas exclure le textbox que je veux rajouter dans mon usf .

je vous fais parvenir mon code si quelqu'un à une solution (et j'en suis sur)

Do While Textdecouv < 0
If Textdecouv > 0 Then
Tp = MsgBox("VOUS DEVEZ TAPER DES VALEURS NEGATIVE", 16, "ERREUR DE SAISIE")
End If
Range("cpte!c4") = Textdecouv.Value
Loop
Sheets("cpte").Select

UsF3.Hide
crannee.Show

je voudrai que tant que la valeur tapée dans textdecouv n'est pas negative, il affiche le message, et une fois que la personne a repondu au message par ok, qu'il en reste la pour que la personne puisse ressaisir sa valeur mais cette fois negative .

et en fait il affiche le message et quand on repond par ok, il enchaine avec l'usf suivant qui est crannee .

merci pour votre aide .

dj.run
 
D

daniel

Guest
je ne sais pas si j'ai bien compris ton besoin, mais pourquoi ne ferais tu pas plus simple ???
par exemple en faisant un test sur le eNTER de validation, qui au moment de chr$(13) du dernier caractere entre dans ta textbox (utiliser textBox_change event). A cet evenement double (event AND chr$(13)) tu test si la valeur entree est <0, si non tu afiche ton message etc...
 
@

@+Thierry

Guest
Salut Dj-Run, Re Daniel, Le Forum


Tiens c'est moi qui vais faire bref sur ce coup là...

A mon avis (sans tester ta boucle, pour laquelle je ne connais pas l'utilité, mais à priori aucune) je pense qu'il ne manque simplement :

Exit Sub

Avant ton End If...


Bon Aprèm
@+Thierry
 
D

dj.run

Guest
bonjour à toutes et à tous,

En effet il y avait beaucoup plus simple que ce que je voulais faire, mais ça m'aurait fait plaisir de comprendre la fonction do...loop car je ne l'ai jamais utilisé .

mais pour mes debuts il vaut mieux faire simple avec les if...then et surtout exit sub (merci @+Thierry) que j'avais oublié, ça fonctionne trés bien .

If Textdecouv <> "" Then
If Textdecouv.Value > 0 Then
Tp = MsgBox("VOUS DEVEZ TAPER DES VALEURS NEGATIVE", 16, "ERREUR DE SAISIE")
Exit Sub
End If
Range("cpte!c4") = Textdecouv.Value
End If

daniel, j'ai essayé de faire ta solution et j'y suis pas arrivé, je pense que c'est encore trop dur pour mes petites connaissances, mais je ne desespere pas un jour j'y arriverai.

merci à tous et surtout à @+Thierry de me montrer mes erreurs,(c'est comme cela qu'on avance) .

à bientot .

dj.run
 

Discussions similaires

Réponses
2
Affichages
843

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 195
dernier inscrit
Cheminotbelgiantrain