Case a cocher Excel

laurrent Messages postés 107 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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

Syzygy Messages postés 404 Statut Membre 146
 
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.
0
laurrent Messages postés 107 Date d'inscription   Statut Membre Dernière intervention   17
 
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
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
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
0