XL 2016 Quiz pour enfants

lynyrd

XLDnaute Impliqué
Bonjour
Est il possible de faire par VBA que lorsque l'on coche une "case à cocher",on ne puisse plus changer de réponse.
Du genre Quand une case est cochée,les 2 aures ne sont plus visibles.
Merci.
 

Pièces jointes

  • quiz pour enfants.xlsm
    19.1 KB · Affichages: 14
Dernière édition:

lynyrd

XLDnaute Impliqué
Re
J'ai essayé de refaire la même chose avec un autre fichier ou les chekbox commencent à
checkbox1
checkbox2
checkbox3
mais ca ne marche pas
vous pouvez me dire ou j'ai fait une erreur.
Merci
 

Pièces jointes

  • quiz petits.xlsm
    45.9 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour lynyrd, Gégé-45550,

Ces 2 macros suffisent :
VB:
Sub Init()
Dim ObjCb As CheckBox
    For Each ObjCb In Sheets("Feuil1").CheckBoxes
        ObjCb.Visible = True
        ObjCb.Enabled = True
        ObjCb = xlOff
    Next ObjCb
End Sub

Sub Masquer()
Dim ObjCb As CheckBox, lig&, Cb As CheckBox
    For Each ObjCb In Sheets("Feuil1").CheckBoxes
        If ObjCb = xlOn Then
            ObjCb.Enabled = False
            lig = ObjCb.TopLeftCell.Row
            For Each Cb In Sheets("Feuil1").CheckBoxes
                If Cb.TopLeftCell.Row = lig And Cb = xlOff Then Cb.Visible = False
            Next Cb
        End If
    Next ObjCb
End Sub
A+
 

Pièces jointes

  • quiz pour enfants.xlsm
    29.1 KB · Affichages: 13

Lolote83

XLDnaute Barbatruc
Bonjour,
Voici un autre exemple avec un formulaire.
Les questions sont dans un tableaux structuré et il suffit de rajouter une ligne pour que les questions s'incrémentent dans le formulaire.
Bon quizzzzzz !!!!
@+ Lolote83
 

Pièces jointes

  • Copie de LYNYRD - Quiz pour enfants.xlsm
    25.6 KB · Affichages: 8

patricktoulon

XLDnaute Barbatruc
bonjour
affecter tout tes checkbox à cette même macro
+ un sub pour faire un reset
VB:
Sub Caseàcocher_Cliquer()
    If ActiveSheet.DrawingObjects(Application.Caller).Value = 1 Then
        For Each shap In ActiveSheet.Shapes
            If shap.TopLeftCell.Row = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row Then
                shap.Visible = False
            End If
        Next
    End If
End Sub

Sub visibleAll()
    For Each shap In ActiveSheet.Shapes
        shap.Visible = True
        ActiveSheet.DrawingObjects(shap.Name).Value = 0
    Next
End Sub
 

patricktoulon

XLDnaute Barbatruc
Hello Patrick,

- Il ne faut pas masquer la CheckBox qui vient d'être cochée

- par contre il faut la désactiver avec la propriété Enabled à False.

A+
re
Bonsoir @job75 si tu veux
comme il est demandé que l'on ne puisse plus y revenir
Est il possible de faire par VBA que lorsque l'on coche une "case à cocher",on ne puisse plus changer de réponse.
Du genre Quand une case est cochée,les 2 aures ne sont plus visibles.

perso je pense que le non visible est plus approprié ou alors faire disabled sur les 3
 

Discussions similaires

Réponses
10
Affichages
431
Réponses
5
Affichages
411

Statistiques des forums

Discussions
312 215
Messages
2 086 324
Membres
103 179
dernier inscrit
BERSEB50