Checkbox et vérification

Bonjour à tous,

Je suis plus que débutant sur le VBA (voir un gros noob en fait) et j'aurais souhaité l'aide des membres sur un problème.

Voilà, sur mon fichier Excel j'ai fait une macro qui lance une userform.

Cette userform sert à rentre deux texte dans des champs dédiés à ceux-ci et en dessous 4 checkbox qui permette de choisir l'option de son choix.

Pour les les textes à écrire, la vérification que les champs soient bien remplis ne m'a pas posée problème, suite à un cours sur ce même site.

Par contre, je n'arrive pas mettre en forme une vérification qu'une checkbox au moins sur les 4 soient la condition sinequanone pour continuer la suite de la macro et qu'une msgbox m'avertisse qu'aucune checkbox n'est selectionnée.

Quelqu'un aurait-il une idée?

Merci d'avance.

Bonjour

kensama a écrit :

4 checkbox qui permette de choisir l'option

Utilises directement des OptionButtons

Une solution parmi d'autre (si vraiment tu veux utiliser des CheckBox remplaces "OptionButton" par "CheckBox")

Private Sub CommandButton1_Click()
Dim I As Byte, Ok As Boolean

  For I = 1 To 4
    If Me.Controls("OptionButton" & I) = True Then Ok = True: Exit For
  Next I

  If Ok = False Then
    MsgBox "Aucun choix de fait"
    Exit Sub
  End If
  '
  ' suite de la macro
  '
End Sub
Banzai64 a écrit :

Bonjour

kensama a écrit :

4 checkbox qui permette de choisir l'option

Utilises directement des OptionButtons

Une solution parmi d'autre (si vraiment tu veux utiliser des CheckBox remplaces "OptionButton" par "CheckBox")

Private Sub CommandButton1_Click()
Dim I As Byte, Ok As Boolean

  For I = 1 To 4
    If Me.Controls("OptionButton" & I) = True Then Ok = True: Exit For
  Next I

  If Ok = False Then
    MsgBox "Aucun choix de fait"
    Exit Sub
  End If
  '
  ' suite de la macro
  '
End Sub

Alors:

1- J'ai dû avec le code, mettre mes checkbox dans une frame.

2- Ensuite apparemment le code ne fait rien puisque avec aucune checkbox cochée je n'ai pas le message.

Update:

Au temps pour moi j'avais oublié le msgbox

Par contre autre question:

Comment faire pour que ce que je coche soit affecté en tant que texte dans une cellule?

Bonsoir

N'utilises pas le bouton "Citer" pour répondre, utilises "Répondre" en bas à gauche de la fenêtre

kensama a écrit :

1- J'ai dû avec le code, mettre mes checkbox dans une frame.

Si ce sont des CheckBox ce n'est pas utile

kensama a écrit :

Comment faire pour que ce que je coche soit affecté en tant que texte dans une cellule?

Modifies la macro
Private Sub CommandButton1_Click()
Dim I As Byte, Msg As String

  For I = 1 To 4
    If Me.Controls("CheckBox" & I) = True Then Msg = Me.Controls("CheckBox" & I).Caption: Exit For
  Next I

  If Msg = "" Then
    MsgBox "Aucun choix de fait"
    Exit Sub
  End If
  '
  ' suite de la macro
  '
  Range("A1") = Msg
End Sub

Merci j'ai fait un truc à ma sauce et ça marche.

Par contre j'ai encore une question (qui n'auront peut-être pas de rapport avec le sujet).

Pourrez-tu m'indiquer:

1- comment faire apparaître une Msgbox à la fin me demandant si j'ai fini et en fonction de ma réponse, soit clore le userform, soit rester sur la userform pour rentrer d'autre données?

Merci d'avance

Bonsoir

If MsgBox("Fini ?", vbQuestion + vbYesNo, "Quitte") = vbYes Then Unload Me
Rechercher des sujets similaires à "checkbox verification"