Case a cocher Excel

Bonjour, j'aimerais inserer quelques 150 cases a cocher dans une feuillle excel, connaissait vous un bon moyen d'aligner une case pile poil sur une cellule?

Autre question j'aurais ces cases sur 3 colonnes, et j'aimerais que si une case est cochee, et que j'en coche une autre ca decoche la premiere.

Merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Un bon conseil, laissez tomber cette idée. Les cases à cocher ne sont qu'un simple ornement sous Excel.
    Pour vous donner une idée de ce que celà représenterait, il vous faudrait placer manuellement vos 150 cases à cocher, puis les lier à 150 cellules pour enfin pouvoir écrire une macro qui vous permettra de faire ce que vous demandez dans la seconde question...

    En résumé, çà va vous prendre un temps énorme. Donc passez directement par des cellules (un "X" dans une cellule pouvant faire office de case à cocher non?)

    Après, pour votre seconde question, vous devriez pouvoir vous en sortir avec une macro basée sur un événement "After_Update"

    Bonne recherche.
    1. A la base j'avais mis des X, j'ai pour l'instant que mis des cases cocher sur la premiere ligne en attendant de voir si un outil de recopie ete possible et si la mise en forme pouvais etre assez precise pour me plaire.

      Sur vos conseils je vais retourner aux X je pense.

      Merci
      1. Contributeur
        Bonjour

        essaies cette macro paramétrable à tes besoins
        Sub creer_cases_a_cocher(lig As Byte, lig_fin As Byte, col As Byte)
        'lig=ligne de départ,lig_fin=ldernière ligne,col=colonne d'implentation
        Dim Chekbox As OLEObject
        Dim Target As Range
        
        Do Until lig = lig_fin + 1
            Set Target = ActiveSheet.Cells(lig, col)
                Set Chekbox = ActiveSheet.OLEObjects. _
                            Add(ClassType:="Forms.CheckBox.1", _
                            Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
            lig = lig + 1
        Loop
        End Sub
        
        'par exemple 3x50 cases sur  colonnes 3,5,7
        Sub implanter_cases_a_cocher()
        Application.ScreenUpdating = False
        creer_cases_a_cocher 2, 51, 3
        creer_cases_a_cocher 2, 51, 5
        creer_cases_a_cocher 2, 51, 7
        
        End Sub