Case à cocher qui donne la date une fois cochée

Bonjour,

J'aurais besoin d'aide sur la possibilité d'indiquer dans une colonne la date quand une case est cochée.

J'ai bien pris connaissance des fonctions SI.CONDITIONS mais hélas je suis une version plus ancienne qui ne permet pas simplement de l'utiliser (2016 PRO plus).

Je voudrais que dans une colonne, si la case est cochée donc VRAI cela donne sur la colonne d'a côté la date à laquelle cela a été fait (Colonne K). Je pense que c'est faisable avec les fonctions SI mais je n'y arrive pas...

Et si possible si décochée que cela n'affiche rien (que ça soit dynamique si faux rien d'affiché et si vrai la date à laquelle c'est coché). Peut-être impossible sans VBA ?

91pmm-test.xlsm (92.65 Ko)

Pourriez-vous m'indiquer comment rédiger cette formule s'il vous plaît ?

Merci d'avance à la communauté.

Bonjour

Hum, les cases à cocher en objet comme vous avez fait je déconseille toujours. Les objets sur les feuilles c'est un peu comme un post-it sur votre armoire...
Vous ne pouvez pas les agrandir sauf en jouant sur la fonction zoom dans le menu, en cas de tri cela peut mettre le bazar dans votre feuille

Bref, je vous propose plutôt une solution via click dans la cellule. Si cochée cela vous met la date comme demandé, si décochée cela enlève la date

Votre avis ?

Cordialement


Edit :
Faites ceci dans votre fichier :
- Supprimez d'abord tous les objets case à cocher de la colonne H (pour aller plus vite, appuyer sur F5 du clavier, puis choisir "Cellules" --> cocher "Objets" --> puis touche Delete sur votre clavier)
- sélectionnez la colonne H et remettez-là au format Standard
- Click droite sur l'onglet et choisir l'option "Visualiser le code"
- collez le code ci-dessous dans la fenêtre

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("H3:H" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    With Target
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        .Font.ColorIndex = xlAutomatic
        If .Value = "R" Then .Value = "£": Target.Offset(0, 1).ClearContents Else: .Value = "R": Target.Offset(0, 1) = Now
    End With
End If
End Sub

- enregistrez le fichier et faites le test de cliquer dans les cellules de la colonne H

NB : le code fonctionne sur toute la colonne H pour autant que vous avez une donnée en colonne A

Si ok et terminé pensez à cloturer

Cordialement


Re edit :
le code agit sur la sélection de la cellule. Donc si vous voulez enlever une case à cocher, cliquez ailleurs sur la feuille puis revenez sur la cellule.
On peut faire en sorte d'éviter cela en ajoutant cette instruction en fin de code juste avant le END IF --> Target.Offset(0, 1).Select

en utilisation cela donne ceci :

image

Bonjour Dan,

Cela fonctionne parfaitement, je vous remercie !

J'ai même pu appliquer des mises en forme conditionnelles par ligne sans problème selon le résultat de la case (R ou £).

J'aurais également aimé qu'une fois la case est cochée, qu'il faille faire une manipulation pour la déverrouiller (par les menus ou par un mot de passe). J'imagine que cela doit faire l'objet d'une autre demande par le forum.

Je clôture et fait une nouvelle demande, merci encore.

J'aurais également aimé qu'une fois la case est cochée, qu'il faille faire une manipulation pour la déverrouiller (par les menus ou par un mot de passe). J'imagine que cela doit faire l'objet d'une autre demande par le forum.

Bah c'est un supplément sur le même sujet
Que voulez-vous dire par déverrouiller ?
La case à cocher n'est pas verrouillée. Comme je vous ai expliqué, si vous cliquez ailleurs sur la feuille, puis revenez sur la cellule, la case sera décochée
Regardez aussi mon deuxième EDIT avec l'instruction à rajouter

Bonjour,

Oui la case a cocher n'est pas verrouillée, cliq et déclicq et ça enlève sans problème.

Ce fichier va être utilisé sur l'année et il y a le risque que sur une ligne on décoche par erreur et si on recoche ça change la date (c'est normal).

Je voudrais donc qu'une fois qu'on a cliqué sur une case à cocher, on ne puisse le décocher qu'après une manipulation.

Par exemple aujourd'hui je valide les lignes 1 à 10 et donc je coche les cases. Je pensais manuellement vérouiller ensuite celles-ci pour que quand je retourne la semaine prochaine par erreur je ne décoche et recoche ce qui donnerait une validation au 11/09 au lieu du 04/09.

Je pensais par exemple sélectionner les lignes et les vérouiller, mais même ça je n'ai pas réussi s'agissant de case à cocher.

Comment donc vérouiller que quelques lignes sur la colonne de la case à cocher ?

Y'a t'il un autre moyen (et par exemple on dévérouille par mot de passe) ?

47pmm-v2.xlsm (18.60 Ko)

Merci d'avance,

Re

Ce fichier va être utilisé sur l'année et il y a le risque que sur une ligne on décoche par erreur et si on recoche ça change la date (c'est normal).

C'est juste une idée mais si une case est cochée et que vous voulez la décocher par erreur ou non, on peut faire apparaitre un message qui vous demande de confirmer le changement

Comment donc vérouiller que quelques lignes sur la colonne de la case à cocher ?

Il faudrait passer par la protection de la feuille et mot de passe pour accéder à la cellule à déverrouiller
Mais penser aussi à l'erreur dans l'autre sens, à savoir que vous vous trompez de ligne à cocher et que vous devez revenir en arrière...

C'est juste une idée mais si une case est cochée et que vous voulez la décocher par erreur ou non, on peut faire apparaitre un message qui vous demande de confirmer le changement

Oui ça serait une bonne solution !

Il faudrait passer par la protection de la feuille et mot de passe pour accéder à la cellule à déverrouiller

Mais penser aussi à l'erreur dans l'autre sens, à savoir que vous vous trompez de ligne à cocher et que vous devez revenir en arrière...

Oui mais je n'ai pas réussi à vérouiller la colonne case à cocher, j'ai cherché mais je n'arrive pas (j'imagine car c'est un formulaire mais je ne sais pas comment l'intégrer dans les éléments à vérouiller).

On peut aussi décocher en utilisant le click droite ou le double click par exemple plutot que la sélection de cellules

Oui mais je n'ai pas réussi à vérouiller la colonne case à cocher, j'ai cherché mais je n'arrive pas (j'imagine car c'est un formulaire mais je ne sais pas comment l'intégrer dans les éléments à vérouiller).

Il faut sélectionner les cellules puis allez dans format --> Protection --> cocher la case "verrouillée"
Ensuite mettre un mot de passe sur la feuille
Mais bon les mots de passe ce n'est pas toujours pratique...

Pour résumer :
Boite à message ou pas avec
- sélection cellule pour cocher et/ou décocher
- décocher via double click ou clic droite


EDIT : je vous ai préparé ceci sans protection feuille

On reste dans la sélection de cellule
Si vous cliquez sur une case cochée vous recevez un message pour confirmer le choix
Message qui serait affiché --> Attention cette action va supprimer la date de validation. Cliquez sur OK pour confirmer
Dites moi

Merci mais je ne vois pas le fichier joint !

Oui normal je ne vous ai pas mis de fichier. j'attendais votre retour sur la proposition
Mais voici ... remplacez tout le code par celui ci-dessous

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("H3:H" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    With Target
        .Font.Name = "Wingdings 2"
        .Font.Size = 12
        .Font.ColorIndex = xlAutomatic
        If .Value = "R" Then
            If MsgBox("Attention cette action va supprimer la date de validation. " & vbCrLf & _
                "Cliquez sur OK pour confirmer", vbYesNo + vbDefaultButton2 + vbCritical, "Modification") = vbYes Then
                .Value = "£"
                Target.Offset(0, 1).ClearContents
            End If
        Else: .Value = "R": Target.Offset(0, 1) = Now
        End If
    End With
End If
End Sub

Crdlt

J'avais mal compris, je vous prie de m'excuser.

Cela fonctionne parfaitement, merci beaucoup pour votre aide !

Rechercher des sujets similaires à "case cocher qui donne date fois cochee"