La détection des changements de cases à cocher via VBA

Suite à ma question précédente.

Une exigence du client est d'avoir des cases à cocher dans un rapport pour désactiver les lignes d'informations sur une autre feuille. Les lignes sont définies comme des plages nommées, formaté par P_XXXXXX. Le XXXXXX est un identifiant unique qui est aussi un champ sur la ligne, donc je peux facilement générer les noms de plage à la volée.

Le problème que j'ai est:

  • Après avoir cliqué sur les postes et la fermeture de la forme Excel demande si nous voulons sauver. C'est undersirable.

J'ai besoin d'une certaine manière de l'enregistrement d'un événement de changement qui se passe sur mon généré des cases à cocher. Donc, si une ou plusieurs modifications, je peux courir à travers et hide/unhide pertinentes plages.

Mon code pour ajouter les cases à cocher ressemble:

        ' For each row...

        ' check box in column 17(=Q).
        Dim lCenter As Long
        lCenter = rngCurrent.Width / 4 ' not actual centre but close enough
        With ActiveSheet.CheckBoxes.Add(rngCurrent.Left + lCenter, rngCurrent.Top - 2, rngCurrent.Width, rngCurrent.Height)
            .Interior.ColorIndex = xlNone
            .Caption = ""
        End With

Alors, comment faites-vous le lien d'un changement dans une case avec un sub/function?

InformationsquelleAutor graham.reeds | 2009-06-17