Efface contenu de textbox

Y

Yvon

Guest
Bonjour à tous,

J'ai un USF avec deux textbox, la saisie est controlée à l'envoi par le bouton valider, mon souci : si il y a deux erreurs de saisie les messages s'enchainent

Je souhaiterai en cas d'erreur dans la saise qu'après un message d'erreur le contenu d'une textbox soit vidé, le code arrêté, et repris après la saisie du bon chiffre.

Voila ou j'en suis la méthode :

If sheets(2).Range('A41').Value = 30 Then
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then MsgBox 'La ventilation des jours est supérieure, au nombre de jour déclaré !', vbInformation, 'Ventilations des jours'
Clearcontent = texbox3.Value
If CDbl(TextBox2.Value) > 1 Then MsgBox 'Le nombre des pauses ne peut être supérieur à 1 par jour, en 1/2 journée de location', vbInformation, 'Ventilation des pauses'
If CDbl(TextBox2.Value) = 1 Then Unload Me
End If

Bien sur l'effacement ne marche pas

Par avance merci du coup de main
Yvon
 
J

justine

Guest
if cdbl(textbox)>........ then
msgbox
textbox=''
exit sub
end if

fait une condition bien detaillee a chaque fois
termine ta condition avec exit sub pour arreter ta macro apres chaque erreur.
moi je fais comme ca et ca marche tres bien.
tiens moi au courant
a+
 
Y

Yvon

Guest
Bonjour Justine,

Merci de ton aide
La méthode ne fonctionne pas, le code s'arrête effectivement, mais le textbox ne se vide pas.

A tu une autre solution ?

A au fait cela fait deux jour que je rame pour charger le forum, j'ai vérifier ma bande passante, elle est ok, quelqu'un d'autre à ce genre de souci actuellement.

a++
Yvon
 
Y

Yvon

Guest
Bonsoir Justine, Manu13,

Je dois rater quelque chose, mais quoi???, ta proposition marche encore moins moins bien elle beug, je vous livre le code pour voir si j'ai rater quelque chose

Private Sub CommandButton1_Click()


If sheets(2).Range('A41').Value = 30 Then
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then texbox3.Value = ''
Exit Sub
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then MsgBox 'La ventilation des jours est supérieure, au nombre de jour déclaré !', vbInformation, 'Ventilations des jours'
If CDbl(TextBox2.Value) > 1 Then MsgBox 'Le nombre des pauses ne peut être supérieur à 1 par jour, en 1/2 journée de location', vbInformation, 'Ventilation des pauses'
If CDbl(TextBox2.Value) = 1 Then Unload Me
End If

Merci de votre participation
a++
Yvon
 
J

justine

Guest
apres quelques minutes devant ton pb, j'ai enfin trouvé quelque chose.
si tu as ecris ta macro tel que tu me la presente, alors c'est normal que cela ne marche pas.
tu as une exit sub qui traine au milieu
il faut la mettre dans ta condition IF
a ta seconde IF, termine par ' :exit sub'
et efface ton exit sub qui t'empeche de poursuivre tes conditions

cela donne

If sheets(2).Range('A41').Value = 30 Then
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then texbox3.Value = '':Exit Sub
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then MsgBox 'La ventilation des jours
est supérieure, au nombre de jour déclaré !', vbInformation, 'Ventilations des jours'
If CDbl(TextBox2.Value) > 1 Then MsgBox'Le nombre des pauses ne peut être supérieur à 1 par
jour, en 1/2 journée de location', vbInformation, 'Ventilation des pauses'
If CDbl(TextBox2.Value) = 1 Then Unload Me
end If
 
J

justine

Guest
apres quelques minutes devant ton pb, j'ai enfin trouvé quelque chose.
si tu as ecris ta macro tel que tu me la presente, alors c'est normal que cela ne marche pas.
tu as une exit sub qui traine au milieu
il faut la mettre dans ta condition IF
a ta seconde IF, termine par ' :exit sub'
et efface ton exit sub qui t'empeche de poursuivre tes conditions

cela donne

If sheets(2).Range('A41').Value = 30 Then
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then texbox3.Value = '':Exit Sub
If CDbl(TextBox3.Value) > sheets(2).Range('A44').Value Then MsgBox 'La ventilation des jours
est supérieure, au nombre de jour déclaré !', vbInformation, 'Ventilations des jours'
If CDbl(TextBox2.Value) > 1 Then MsgBox'Le nombre des pauses ne peut être supérieur à 1 par
jour, en 1/2 journée de location', vbInformation, 'Ventilation des pauses'
If CDbl(TextBox2.Value) = 1 Then Unload Me
end If
 
Y

Yvon

Guest
Bonjour Justine,

Effectivement tu as raison le exit sub n'était pas bien placé, mais je te le rappelle mon souci n'est pas la.

Je n'arrive pas a vider la textbox: ouin ........

Je te joint un petit fichier, si tu as le temps et l'envie de m'aider, je te propose de le récupérer et rentr ton code, comme tu l'a déjà fait je me débrouillerai pour l'adapter ensuite.

En tout cas merci je ton aide j'apprécie

a++
Yvon [file name=efftextbox.zip size=10010]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/efftextbox.zip[/file] [file name=efftextbox.zip size=10010]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/efftextbox.zip[/file]
 

Pièces jointes

  • efftextbox.zip
    9.8 KB · Affichages: 58

Discussions similaires

Réponses
3
Affichages
532

Statistiques des forums

Discussions
312 338
Messages
2 087 403
Membres
103 536
dernier inscrit
komivi