Problème Checkbox

Bonjour,

je suis confronté à un problème que je n'arrive pas à résoudre, je ne sais même pas comment il apparaît. Lorsque que je clique sur une checkbox, il y a l'apparition d'un vrai si je coche ou d'un faux si je décoche. Je n'arrive pas à trouver pourquoi !!

Sub creation_checkbox()

    Call Initialisation
    Dim nb_ligne_tableau As Double
    nb_ligne_tableau = (ShLiOpTu.Range("A" & Rows.Count).End(xlUp).Row) - 4
    Dim i As Double
    Dim cb As CheckBox

        If (ShLiOpTu.OLEObjects("active_marge").Object.Value = True) Then
            For i = 5 To nb_ligne_tableau

                If (ShLiOpTu.Range("A" & i).Value <> "Somme C2" And ShLiOpTu.Range("A" & i).Value <> "Somme C3") Then

                    If (ShLiOpTu.Range("R" & i).Value <> 0) Then

                        Set cb = ShLiOpTu.CheckBoxes.Add(Range("AA" & i).Left, Range("AA" & i).Top, 120, 12)

                        With cb

                            .Caption = "+10% de PS"
                            .LinkedCell = Range("AA" & i).Address
                            .OnAction = "maj_gain"
                            .Value = xlOff
                            .Display3DShading = False

                        End With
                    End If
                Else
                    i = i + 1
                End If
            Next i
        Else
            Call DeleteCheckbox
        End If

End Sub

En espérant que cela vous suffise !

Merci de vos réponses !

Bonjour,

Il manque la macro "maj_gain" pour savoir ce qui se passe quand on clique !

Sub maj_gain()

    Call Initialisation
    ShLiOpTu.Range("AB:AL").EntireColumn.Delete
    Dim cb As CheckBox
    Dim sCaller As String
    Dim cbx As CheckBox
    Dim shp As Shape
    Dim num_ligne As Double
    Dim num_ligne_ko As Double
    Dim num_ligne_koko As Double
    Dim resultat_vlookup As Variant

    Dim nb_ligne_tableau_C2 As Double
    Dim nb_ligne_tableau_C3C4 As Double
    nb_ligne_tableau_C2 = (Sheets("Import C3C4").Range("A" & Rows.Count).End(xlUp).Row) - 4
    nb_ligne_tableau_C3C4 = (Sheets("Import C3C4").Range("A" & Rows.Count).End(xlUp).Row) - 4

    sCaller = Application.Caller
    Set shp = ActiveSheet.Shapes(sCaller)
    Set cbx = ActiveSheet.CheckBoxes(sCaller)

    If (cbx.Value = 1) Then

        num_ligne = shp.TopLeftCell.Row
        ShLiOpTu.Range("AB" & num_ligne).FormulaLocal = "=ENT(SIERREUR(I" & num_ligne & "+(I" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AB" & num_ligne).Copy
        ShLiOpTu.Range("I" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AC" & num_ligne).FormulaLocal = "=ENT(SIERREUR(J" & num_ligne & "+(J" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AC" & num_ligne).Copy
        ShLiOpTu.Range("J" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AD" & num_ligne).FormulaLocal = "=ENT(SIERREUR(K" & num_ligne & "+(K" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AD" & num_ligne).Copy
        ShLiOpTu.Range("K" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AE" & num_ligne).FormulaLocal = "=ENT(SIERREUR(L" & num_ligne & "+(L" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AE" & num_ligne).Copy
        ShLiOpTu.Range("L" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AF" & num_ligne).FormulaLocal = "=ENT(SIERREUR(M" & num_ligne & "+(M" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AF" & num_ligne).Copy
        ShLiOpTu.Range("M" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AG" & num_ligne).FormulaLocal = "=ENT(SIERREUR(N" & num_ligne & "+(N" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AG" & num_ligne).Copy
        ShLiOpTu.Range("N" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AH" & num_ligne).FormulaLocal = "=ENT(SIERREUR(O" & num_ligne & "+(O" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AH" & num_ligne).Copy
        ShLiOpTu.Range("O" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AI" & num_ligne).FormulaLocal = "=ENT(SIERREUR(P" & num_ligne & "+(P" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AI" & num_ligne).Copy
        ShLiOpTu.Range("P" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AJ" & num_ligne).FormulaLocal = "=ENT(SIERREUR(Q" & num_ligne & "+ (Q" & num_ligne & "*0,1);""0""))"
        ShLiOpTu.Range("AJ" & num_ligne).Copy
        ShLiOpTu.Range("Q" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AK" & num_ligne).FormulaLocal = "=ENT(SIERREUR(G" & num_ligne & "- ( Q" & num_ligne & ");""0""))"
        ShLiOpTu.Range("AK" & num_ligne).Copy
        ShLiOpTu.Range("R" & num_ligne).PasteSpecial Paste:=xlPasteValues

        ShLiOpTu.Range("AL" & num_ligne).FormulaLocal = "=SIERREUR(((G" & num_ligne & " -   Q" & num_ligne & " ) / G" & num_ligne & " );""0"")"
        ShLiOpTu.Range("AL" & num_ligne).Copy
        ShLiOpTu.Range("S" & num_ligne).PasteSpecial Paste:=xlPasteValues

    Else
        num_ligne_ko = shp.TopLeftCell.Row
'        ShLiOpTu.Range("AM" & num_ligne_ko).FormulaLocal = "=RECHERCHEV(A " & num_ligne_ko & ";'Import C2'!$I$4:$J$ " & num_ligne_ko & ";1;FAUX)"
        resultat_vlookup = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:J" & nb_ligne_tableau_C2), 2, 0)
        If (IsError(resultat_vlookup)) Then
            ShLiOpTu.Range("I" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 34, 0)
            ShLiOpTu.Range("J" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 35, 0)
            ShLiOpTu.Range("K" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 36, 0)
            ShLiOpTu.Range("L" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 37, 0)
            ShLiOpTu.Range("M" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 38, 0)
            ShLiOpTu.Range("N" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 39, 0)
            ShLiOpTu.Range("O" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 40, 0)
            ShLiOpTu.Range("P" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 41, 0)
            ShLiOpTu.Range("Q" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 15, 0)
            ShLiOpTu.Range("R" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 16, 0)
            ShLiOpTu.Range("S" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C3C4").Range("F4:AT" & nb_ligne_tableau_C3C4), 17, 0)
        Else
            ShLiOpTu.Range("I" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 24, 0)
            ShLiOpTu.Range("J" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 25, 0)
            ShLiOpTu.Range("K" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 26, 0)
            ShLiOpTu.Range("L" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 27, 0)
            ShLiOpTu.Range("M" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 28, 0)
            ShLiOpTu.Range("N" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 29, 0)
            ShLiOpTu.Range("O" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 30, 0)
            ShLiOpTu.Range("P" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 31, 0)
            ShLiOpTu.Range("Q" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 9, 0)
            ShLiOpTu.Range("R" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 10, 0)
            ShLiOpTu.Range("S" & num_ligne_ko).Value = Application.VLookup(ShLiOpTu.Range("A" & num_ligne_ko), Worksheets("Import C2").Range("I4:AM" & nb_ligne_tableau_C2), 11, 0)

        End If
    End If
    ShLiOpTu.Range("AB:AL").EntireColumn.Delete
End Sub

L'apparition du Vrai/Faux se fait où , dans une boite de message, dans une cellule, dans un contrôle ?

Poste ton classeur sans données confidentielles afin de voir ce qu'il en est !

Merci de te pencher sur mon problème.

Oui c'est dans la même cellule. Quand j'efface le contenu de la cellule avec la méthode Clear, cela efface aussi la valeur du Checkbox. Par exemple si elle est cochée, cela la décochera ...

Par contre pour le classeur je suis désolé mais je peux vraiment rien posté ..

Cordialement,

Rechercher des sujets similaires à "probleme checkbox"