Figer une case à cocher dans une cellule

Fermé
Eva - 31 juil. 2018 à 13:40
 Eva - 31 juil. 2018 à 19:22
Bonjour,

je crée une base de donnée de contacts .
l'idée était de créer un tableau unique grasse à un tableau croisé dynamique ou un tableau classique avec filtres, et d'y inclure en face de chaque contact une case à cocher.

ma base de données comporte plus de 600 contacts il est donc nécessaire de filtrer pour les sélectionner.
le problème c'est que les cases à cocher ne sont pas ancrées dans les cellules et ne se déplacent donc pas avec les informations lorsque je filtre.


autre problème je n'y connais rien en VBA et en code...

help please



2 réponses

rEVOLV3r Messages postés 223 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 21 septembre 2022 28
31 juil. 2018 à 15:00
Bonjour,

Vous pourriez utilizer simplement une colonne dans laquelle vous écriveriez "X".
Cela permettrait de trier facilement.

Par macro, il y a meme moyen de faire un truc très simple :
si on clique sur la cellule de la première colonne, un X apparait automatiquement.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
        If Target.Value <> "" Then Target.Value = "" Else Target.Value = "X"
    End If
End Sub


Pour implementer cette macro, faire alt+F11 afin d'ouvrir l'interface de programmation.
Double-cliquer sur la feuille correspondante (celle ou vous voulez appliquer la macro) dans la fenêtre de gauche. et coller la macro.
Il suffit de changer le target.column = 1 (A) , 2(B) etc. pour sélectionner la colonne.
Si vous voulez que la macro fonctionne uniquement dans un certain range ou à partir d'une certaine ligne, vous pouvez utiliser celle la :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Row >= 2 And Target.Row <= 1000 Then
        If Target.Value <> "" Then Target.Value = "" Else Target.Value = "X"
    End If
End Sub


il suffit alors de modifier la valeur minimal (à 2) et la maximal (à 1000).

Meilleures salutations
1
Merci beaucoup.
0