Probleme avec une boucle macro

Résolu/Fermé
Manon - 21 sept. 2008 à 23:10
 Manon - 22 sept. 2008 à 00:23
Bonsoir à tous,

Voici un code que je n'arrive pas à faire marcher :

If CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False then
MsgBox "Vous devez valider au moins une case !", vbExclamation, "ERREUR"
controls("checkbox1").SetFocus
End If

Sheets("B").select
Userform2.Show

Lorsqu'aucune case n'est sélectionnée, le message apparait bien, mais quand je clique 'ok', il continu et affiche le 2ième userform. Alors que normalement il devrait revenir (rester) sur le userform !

Je doit pas être bien loiin.

Merci pour votre aide.

Manon
A voir également:

5 réponses

Cela ne marche pas. Il me dit "else sans if". Mais merci quand même d'avoir tenté.

Quelqu'un d'autre à une solution ?

Je pense que cela doit venir de la ligne "control(checkbox).set focus".

Merci de m'aider.

Manon
1
Le ponay au fond a gauche
21 sept. 2008 à 23:46
Au lieu de mettre un if pour tant controle de saisie met plutot un do while ... loop


do while machin= faux and truc=false
MsgBox "Vous devez valider au moins une case !", vbExclamation, "ERREUR"
controls("checkbox1").SetFocus

loop
0
Je suis débutante et je n'ai jamais essayé "do while".... Donc pourrais-tu me donner un exemple concret ?

Je voudrait simplement que le 2ième userform ne s'affiche pas, lorsque je clique sur "OK".

Merci.
0
Voici la bonne réponse,

If CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False then
MsgBox "Vous devez valider au moins une case !", vbExclamation, "ERREUR"
Exit sub
End If

Sheets("B").select
Userform2.Show


Pour qui cela interresse.....

@+ et bonne soiré à tous
0

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

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
21 sept. 2008 à 23:17
Salut,

Entre End If et Sheets("B").select essaies exit sub et else

End If
exit sub
else
Sheets("B").select

Bonne nuit à demain
-1