Changer la valeur retenue par une case à cocher

Bonjour,

Ce code fonctionne bien pour afficher une case à cocher devant chaque ligne sauf que je n'arrive pas à changer la valeur obtenue par cette case à cochée de FAUX ou VRAI à 1 ou 2 et ça m'affiche une erreur quand je l'essaye

Sub AddCheckBoxes()

Dim i, LRow As Single
Dim chkbx As CheckBox
Dim MyLeft, MyTop, MyHeight, MyWidth As Double

Application.ScreenUpdating = False
LRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To LRow
    If Cells(i, "A").Value <> "" Then

        If Cells(i, "C").Value <> "" Then
        Cells(i, "C").ClearContents
        ActiveSheet.Shapes.Cells(i, "C").Select
        Selection.delete

        ElseIf IsEmpty(Cells(i, "C")) Then
        MyLeft = Cells(i, "C").Left
        MyTop = Cells(i, "C").Top
        MyHeight = Cells(i, "C").Height
        MyWidth = Cells(i, "C").Width
        With ActiveSheet.CheckBoxes.Add(MyLeft, MyTop, MyWidth, MyHeight)
            .Name = "CheckBox" & i
            .Caption = ""
            .Value = xlOff
            .LinkedCell = "D" & i
            .Display3DShading = False
        End With
        End If

     If Range("C" & i).chkbx.Value = xlOn Then
     Range("B" & i).Value = 2
     ElseIf Range("C" & i).chkbx.Value = xlOff Then
     Range("B" & i).Value = 1
     End If
     End If

Next i

Application.ScreenUpdating = True

End Sub
6document.xlsm (18.30 Ko)

Bonjour,

Sans passer par un code?

14document.xlsm (21.26 Ko)

Re,

J'ai essayé ton fichier il fonctionne pas, c'est toujours VRAI et FAUX au lieu de 2 et 1

Je veux le faire avec un code s'il vous plaît, c'est quelque chose comme en bas de mon code sauf que ça fonctionne pas pour moi,

 If Range("C" & i).chkbx.Value = xlOn Then
     Range("B" & i).Value = 2
     ElseIf Range("C" & i).chkbx.Value = xlOff Then
     Range("B" & i).Value = 1
     End If
     End If

Voilà avec un code

11document.xlsm (23.36 Ko)

Merci,

On ne peut pas le faire avec le type normal de case à cocher (comme celui dans mon code) et non pas le Active X ?

Bonjour,
Je n'arrive pas à trouver où est le problème dans votre code et il bug dès que je tente de le lancer. Je n'ai trouvé que cette solution qui est très simple et qui répond au but recherché. Essayez de modifier votre code:

If Range("C" & i).chkbx.Value = xlOn Then
     Range("B" & i) = 2
     Else
     Range("B" & i) = 1
End If
     
Rechercher des sujets similaires à "changer valeur retenue case cocher"