Microsoft 365 Formule conditionnelle

NONO14

XLDnaute Impliqué
Bonjour à tous,

Je cherche désespérément à créer cette formule de calcul :
Si A1 = "X" alors A2 = l'heure actuelle.
La difficulté étant que cette heure ne doit plus être modifiée lors d'une autre saisie dans une autre cellule.

On peut également passer par Vba si besoin
Mon idée étant que si l'utilisateur clique sur bouton situé en A1 (par exemple), alors la cellule A2 indique l'heure actuelle mais sans pouvoir être modifiée par un autre clic ou par l'horloge système, l'heure doit rester figée. Un autre clic doit entraîner une nouvelle saisie dans A3 et ainsi de suite.

Merci par avance pour votre aide
 
Dernière édition:

NONO14

XLDnaute Impliqué
Bonjour,
Merci pour votre réponse. En fait se sont des agents qui vont utiliser ce fichier.
Lorsqu'ils arrivent à leur poste, ils cliquent sur le bouton qui va indiquer l'heure d'arrivée, l'heure de départ.
Voici mon commencement de fichier.
 

Pièces jointes

  • ProjetPlanning.xlsm
    24.3 KB · Affichages: 4

NONO14

XLDnaute Impliqué
Bonjour JHA,
Merci pour votre réponse. L'idée est bonne et intéressante.
Cependant, rien n'empêchera l'agent de retaper dans une cellule saisie afin de modifier un horaire.
Il faut que je perfectionne cette donnée en interdisant toute nouvelle saisie dès lors que la cellule est remplie.
Merci encore pour votre aide
 

NONO14

XLDnaute Impliqué
J'ai trouvé ce code qui fait le travail sauf que si je reviens sur une cellule déjà saisie, l'horaire est modifié et ça je souhaiterai le modifier. Comment dois-je procéder ?
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:P20")) Is Nothing Then ActiveCell.Value = Now()
    Selection.NumberFormat = "h:mm"
End Sub
Merci par avance pour votre aide
 

NONO14

XLDnaute Impliqué
Bonjour à tous,
Ce code a pour effet d'interdire la saisie dans une cellule déjà remplie. Toutefois, pourriez-vous me dire comment interrompre ce processus lorsque je veux intervenir sur une cellule suite à une erreur de saisie, ce qui n'est pas possible à moins de déverrouiller les macros. J'avais pensé à un bouton qui donnerai l'accès suite à un mot de passe, mais je ne sais pas comment faire.
Pourriez-vous m'apporter votre aide s'il vous plait ?
Je vous en remercie par avance
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target <> "" Then Cells(1, 1).Select
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 088
Messages
2 116 089
Membres
112 657
dernier inscrit
jpb3