Utiliser une cellule comme une case à cocher

D

David_XLD

Guest
Bonjour,

Je suis en train de préparer un document de saisie à diffuser à plusieurs personnes.
Afin d'alléger la saisie, je voudrais utiliser certaines cellules comme des cases à cocher.
Un clic sur la cellule doit mettre la valeur de la cellule à "X",alors qu'un nouveau clic doit la mettre à vide.

J'ai déjà réalisé ce type de système grâce à une procédure événementielle Worksheet_SelectionChange mais n'y a t'il pas plus simple?

Merci

David
 
D

David_XLD

Guest
En fait je veux garder le cadre de mon fichier, une ligne par document (voir ébauche fichier ci-joint)

Un clic dans une case (un ou plusieurs destinataires, une ou plusieurs sociétés par document) = X dans la cellule.

Je suis pas sûr que ce soit la meilleure solution mais à mon avis c'est intéressant pour une saisie à la chaine.

A+

David
 

Pièces jointes

  • AnalyseReporting.zip
    7.1 KB · Affichages: 166
L

LaurentTBT

Guest
Bonsoir à tous, bonsoir David.

Il m'arrive d'utiliser comme toi l'événement SelectionChange pour cocher une cellule. Regarde par exemple sur Lien supprimé
très récent.

Pour moi, je ne vois pas plus simple, et surtout c'est rapide à l'utilisation.

Autre solution à laquelle j'avais pensé, modifier le menu qui apparaît lorsque l'on fait un clic droit pour rajouter une option qui coche ou décoche la case, mais cela implique un deuxième clic!

Bonne soirée. Laurent.
 

Pièces jointes

  • CocherCellule.zip
    10.2 KB · Affichages: 255
V

Vériland

Guest
Bonsoir David Sébastien, Laurent et toi le forum,

Tiens mais c'est not' patron là...hi hi hi

Ah ben ça nous fait plaisir de te rendre un service...

Bon ben d'après ce que j'ai pu comprendre, je te propose la chose suivante, mais à l'inverse de Laurent c'est par le clic droit que cela se gère...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Application.Intersect(Target, Range("Zone1")) Is Nothing Then
ElseIf ActiveCell.Value = "X" Then ActiveCell.Value = ""
ElseIf ActiveCell.Value = "" Then ActiveCell.Value = "X"
End If
End Sub


le principe et simple...on définit la plage à traiter...ici Zone1...et dès qu'on clique sur une cellule dans cette plage on affiche X ou rien...

Bon ben c'est à tester, ici cela ne concerne qu'une seule plage...on pourrait en avoir plusieurs...

Voilà pour moi

A+Veriland.gif


PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...
 
D

David_XLD

Guest
Bonsoir Laurent et Veri!!!

Super vos solutions, j'étais plutôt parti sur la solution en clic gauche mais le clic droit est lui aussi très bien (moins intuitif pour les débutants mais très bien).

J'avais déjà utilisé il y a un moment la solution de Laurent en rajoutant la possibilité de faire une multi sélection (test sur le nombre de cellules sélectionnées.

Je cherche ça demain et je vous envoie le fichier ça peut toujours intéresser quelqu'un

Merci encore à vous deux!

Bonne Soirée

David
 
L

LaurentTBT

Guest
J'arrive avec une selection de cellules multiples contigües, mais cette méthode ne permet pas de sélectionner par exemple H3 et J3 sans sélectionner I3.
Je ne sais pas si c'est de cela que tu parles sous le terme mutli sélection.

@+. Laurent.
 

Pièces jointes

  • CocherCelluleMultiple.zip
    10.2 KB · Affichages: 146
D

David_XLD

Guest
C'est tout de même étonnant qu'il n'y ait pas en standard dans "Outils"-"validations" un outil de ce style...

Peut être dans Excel 11... qui sait...

D'ailleurs il devrait pas tarder à sortir celui là...

A+

David
 

Discussions similaires

Réponses
2
Affichages
144

Statistiques des forums

Discussions
312 691
Messages
2 091 009
Membres
104 725
dernier inscrit
Marvin Foucart