Probleme avec une boucle macro

Résolu
Manon -  
 Manon -
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
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Manon
     
    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
  2. Le ponay au fond a gauche
     
    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
  3. Manon
     
    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
  4. Manon
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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