Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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



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
Bon et bien finalement pas la peine d'attendre demain!! ;-)

Effectivement je parlais de cellules contigües, c'est donc parfait!

Quelle efficacité ce forum!! lol

Merci encore

David
 
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
191
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…