Cliquer sur une cellule et afficher heure minute et seconde

  • Initiateur de la discussion Initiateur de la discussion Caninge
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Caninge

XLDnaute Accro
Bonjour à tous

j'ai cherché et presque trouvé mon bonheur dans des discussions.

ma trouvaille : Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

mais cette formule n'est pas adaptée.

voilà ma question :

en faisant un simple clic dans une cellule j'aimerais avoir l'heure les minutes et les secondes.

exemple 15:34:48

si je clique une 2ème fois dans cette même cellule l'heure disparaît

mais uniquement dans la plage H4 : H113.

je me remet à vos connaissances

merci
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour Caninge, bonjour le forum,

Le code ci-dessous fait ce que tu demandes :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
End Sub
Mais comme pour cliquer une seconde fois sur la cellule il faut d'abord sortir de cette cellule (en cliquant ailleurs), je pense que le double-clic serait bien plus efficace :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
Cancel = True
Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
End Sub
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Salut

Bonjour Caninge, bonjour le forum,
..
Mais comme pour cliquer une seconde fois sur la cellule il faut d'abord sortir de cette cellule ...
tu as raison mais on peut prévoir le changement de sélection dans la macro
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
  Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
  Target(1,2).select
End Sub
Si... la plage est déjà formatée sur la feuille, on peut se contenter de :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
  If Intersect(R, [H4:H113]) Is Nothing Then Exit Sub
  R = IIf(R = "", Now, ""): R(1, 2).Select
End Sub
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour Caninge, Robert, Si...

OK Si... Mais si... l'on sélectionne une plage, par exemple H4:H5, la macro beugue...

Utiliser ActiveCell ou Target(1) au lieu de Target :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(ActiveCell, Range("H4:H113")) Is Nothing Then Exit Sub
ActiveCell = IIf(ActiveCell = "", Now, "")
ActiveCell(1, 2).Select
End Sub
A+
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour à tous,

je regarderais toutes vos réponses plus tard et je vous tiens au courant.

je vais acheter fleurs et tomates au marché !

je vous remercie et bon dimanche !
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour Robert, si... et job75,

j'ai fini le jardinage, maintenant je peux regarder vos réponses.

tout me semble très bien, j'ai choisi la solution de Robert.

Je vous remercie bien

Bonne semaine
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour à tous,

je fais appel aux compétences des excellents excelliens de ce forum pour régler mon petit problème.

je reviens sur ce fil pour rajouter une procédure :

je voudrais que après avoir cliqué dans la cellule pour afficher l'heure, le fichier s'enregistre à chaque fois que je fais cette action.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
End Sub

je vous remercie et bon weekend

CANINGE
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonjour,

j'ai essayé d'enregistrer une macro pour enregistrer après le clic, mais j'ai fait chou blanc.

Sans vouloir t'en demander trop, je préférerai que tu m'écrives le code qu'il faut mettre

je suis pénible je sais (lol)

A plus et merci
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

Bonsoir


Caninge
A pénible, pénible et demi 😉
Voici que 'affiche mon enregistreur de macros quand je suis le conseil que j'ai donné précédemment
Code:
Sub Macro1()
ChDir "C:\Temp"
ActiveWorkbook.SaveAs Filename:="C:\Temp\test.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.Save
End Sub
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
End Sub

Donc maintenant, tu n'as plus d'excuses pour ne pas mettre les mains dans le cambouis 😉 et mixer, tester, expérimenter ces deux bouts de codes.

Bref, mouille la chemise, camarade 😉
 
Re : Cliquer sur une cellule et afficher heure minute et seconde

re,

regarde ce que j'ai fait,

je pense que c'est un coup de bol, sans mouiller la chemise dingue ?

ça à l'air de fonctionner mon ami !


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("H4:H113")) Is Nothing Then Exit Sub
Target.Value = IIf(Target.Value = "", Format(Now, "hh:mm:ss"), "")
ActiveWorkbook.Save
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour