Liste de vérification

Bonjour,

Beau défi !

j'ai beau chercher je ne trouve pas.

J'ai une liste de vérification de ménage a faire remplir.

Mon but est que lorsque la cellule est "coché" la date et l'heure s'affiche.

Mais il ne fait pas que les autres dates se mettent à jour.

Je dois dire que je ne comprends RIEN au vba.

est ce que c'est possible ?

merci à l'avance a tous ceux qui prennent le temps d'au moins lire ma demande

J'ai joins mon fichier tel quel

Bonjour,

En formule ce n'est pas possible de figer la valeur comme tu le souhaites. Voici donc une macro permettant d'inscrire la date et l'heure en valeur à l'ajout d'un "X".

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("B2:E24")) Is Nothing And Target.Count = 1 Then 'On contrôle que la cellule modifiée (target) appartient à la plage "B2:E24"
    If Target.Value = "X" Then Range("F" & Target.Row) = Now 'Si présence d'un X, on met la date et l'heure en colonne F
End If

End Sub

Le code est à ajouter dans le module de la feuille concernée (voir image), dans l'éditeur VBA (accessible via ALT+F11). Le fichier est ensuite à enregistrer au format ".xlsm".

illu1

Merci

C'est magnifique

Bonjour Pedro 22,

j'ai repensé à mon classeur et je pense qu'il y aura une facon plus simple

j'aimerais indiquer l'heure de début en ligne 2 (BCDE) lorsque je clique In en ligne 6 (BCDE) et inscrire l'heure de fin en ligne 3 (BCDE) lorsque je clique Out en ligne 7

Possible ? Je sais je pousse ma lock!

Mais même si ça ne se fait pas merci au moins de m,avoir répondu une fois ça été fantastique

Bonjour,

Je n'ai pas compris l'intérêt de tes modifications par rapport au code initial. J'ai pris la liberté de corriger ton code :

Private Sub Worksheet_Change(ByVal Target As Range)
'Application.ScreenUpdating = False --> inutile dans cette macro
'Choix de la ligne
Dim Rw As Long
Rw = Target.Row
'effacement colonne N et M remplie
If Target.Column = 2 And Rw > 1 And Rw < 51 And Target.Count = 1 Then
    If Target.Value = "X" Then Range("F" & Rw).Value = Now
End If

End Sub

PS: on évite d'utiliser ActiveCell dans ce genre de macros (et en général on peut s'en passer dans toutes les macros).

Concernant ta seconde problématique, voilà ma proposition (à intégrer dans le même module que l'autre macro) :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("$B$6:$E$7")) Is Nothing Then
    Cells(Target.Row - 4, Target.Column) = Now
End If

End Sub

Oh merci de ta rapidité, mais je ne comprends pas.

Je dois changé ma feuille pour l'adapter à mes besoins.

De sorte que l'employé de ménage clique IN selon la salle faite et ça inscrit l'heure dans la colonne BCDE 2 même chose pour le Out lorsqu'il a terminé.

Comme c'est la, je ne comprends pas ton code.

Je dois mettre ça :

Private Sub Worksheet_Change(ByVal Target As Range)

'Application.ScreenUpdating = False --> inutile dans cette macro

'Choix de la ligne

Dim Rw As Long

Rw = Target.Row

'effacement colonne N et M remplie

If Target.Column = 2 And Rw > 1 And Rw < 51 And Target.Count = 1 Then

If Target.Value = "X" Then Range("F" & Rw).Value = Now

End If

End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("$B$6:$E$7")) Is Nothing Then

Cells(Target.Row - 4, Target.Column) = Now

End If

End Sub

Le premier code était déjà dans le fichier, il est issu de ta toute première demande mais tu l'as modifié par rapport à celui que j'avais initialement proposé.

Le seconde code correspond à ta dernière demande.

Ok car ça ne fonctionne pas.

Si je clique IN en colonne B6 il ne me met pas l'heure de début en cellule B2 même chose pour les autres colonnes et l'heure de fin.

Ok car ça ne fonctionne pas.

Si je clique IN en colonne B6 il ne me met pas l'heure de début en cellule B2 même chose pour les autres colonnes et l'heure de fin.

Chez moi ça fonctionne parfaitement, il suffit de double cliquer, pas d'ajouter un "x"...

Mais tu n'as pas répondu à ma question : pourquoi avoir modifié ainsi le premier code fourni ?

OK merci !

Je fessait des tests et comme je ne suis pas top j'ai tous modifier. Mais ce que tu m'a s fournit est génial pour ce que je dois faire.

Merci encore une fois

Je suis désolée d'avoir bousillé ton code.

OK merci !

Je fessait des tests et comme je ne suis pas top j'ai tous modifier. Mais ce que tu m'a s fournit est génial pour ce que je dois faire.

Merci encore une fois

Je suis désolée d'avoir bousillé ton code.

Je n'ai jamais dit que tu avais "bousillé" mon code ! C'est ton fichier, tu en fais ce que tu veux. C'était une simple curiosité, par ce que je ne vois pas l'intérêt des modifications que tu as apporté.

J'espère avoir apporté une solution adaptée, bonne fin de journée à toi.

Oui c'était parfait Merci mille fois

Rechercher des sujets similaires à "liste verification"