CheckBox et VBA

Résolu
Bonjour,

Je débute plus ou moins avec visual basic, j'arrive à faire quelques trucs mais là je bloque...

J'ai créé plusieurs checkbox dans ma feuille excel mais je n'arrive pas à les faire fonctionner dans ma macro

Pouvez vous m'aider?

Par exemple je voudrais que si checkbox1 est coché, excel me lance un calcul mais ce que j'ai fait ne marche pas...

Sub comparaison()

Sheets("Comparaison Générale").Activate

If CheckBox1.Value = True Then
Cells(3, 77) = "Agen"
Sheets("IGH MFC a et b + MFM").Activate
Range(Cells(9, 5), Cells(68, 9)).Select
Selection.Copy
Sheets("Comparaison Générale").Activate
Cells(3, 80).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True

End If

End Sub

qu'est ce qui ne va pas dans cette macro???

Merci d'avance

Cordialement

Nicolas
Configuration: Windows XP
Firefox 3.0.10

4 réponses

  1. Contributeur
    Bonjour,

    Sub comparaison()

    With Sheets("Comparaison Générale")

    If .CheckBox1 Then
    .Cells(3, 77) = "Agen"
    ....la suite

    End If
    End With
    End Sub
    0
    1. Contributeur
      Bonjour,

      Sub comparaison()

      With Sheets("Comparaison Générale")

      If .CheckBox1 Then
      .Cells(3, 77) = "Agen"
      ....la suite

      End If
      End With
      End Sub
      0
      1. Contributeur
        double message: Parkinson a encore frappé!

        tu peux améliorer ta macro
        en remplacant
        Sheets("IGH MFC a et b + MFM").Activate
        Range(Cells(9, 5), Cells(68, 9)).Select
        Selection.Copy
        Sheets("Comparaison Générale").Activate
        Cells(3, 80).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True

        par

        tablo=Sheets("IGH MFC a et b + MFM").Range(Cells(9, 5), Cells(68, 9)).value
        .Range(cells(3,80),cells(62,84))=tablo

        et donc:
        Sub comparaison()
        dim tablo

        With Sheets("Comparaison Générale")
        If .CheckBox1 Then
        .Cells(3, 77) = "Agen"
        tablo=Sheets("IGH MFC a et b + MFM").Range(Cells(9, 5), Cells(68, 9)).value
        .Range(cells(3,80),cells(62,84))=tablo
        End If
        End With
        End Sub
        0
        1. Merci à toi! ca marche parfaitement!!
          0