Insérer l'heure via un bouton dans une cellule déja renseigné

  • Initiateur de la discussion Initiateur de la discussion ldr33
  • 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 !

ldr33

XLDnaute Nouveau
Bonsoir à tous,

Totalement novice dans Excel j'aurai souhaité avoir vos lumières.
Je souhaiterai gérer la sortie des personnels de mon entreprise via une macro excel.
Après avoir saisi les divers renseignements à l'entrée de la personne, je voudrais à son départ,en selectionnant son nom via une fiche sous forme USF cliquer sur un bouton "Départ", au quel cas son heure de départ serait inscrit automatiquement dans la cellule "départ".
Merci à vous pour l'aide que vous pourrez m'appporter.
 
Re : Insérer l'heure via un bouton dans une cellule déja renseigné

Bonsoir ldr33, bienvenue sur XLD,

Totalement novice dans Excel j'aurai souhaité avoir vos lumières.

Vous n'êtes pas totalement novice puisque vous semblez savoir ce que sont un USF et une macro 🙂

Pour votre problème un USF paraît a priori inutile.

Clic droit sur l'onglet de la feuille et Visualiser le code, puis collez cette macro :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [C2:C65536]) Is Nothing Then
  Cancel = True
  Target = Time
End If
End Sub
Un double-clic sur une cellule en colonne C entrera l'heure dans la cellule.

Mettez la colonne C au format "Heure" désiré.

A+
 
Re : Insérer l'heure via un bouton dans une cellule déja renseigné

Bonjour ldr33, le forum,

Une solution plus élaborée qui utilise une liste de validation en A1 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Variant
i = Application.Match([A1], [Liste], 0)
If IsError(i) Then [Liste].EntireRow.Hidden = False: Exit Sub

[Liste].EntireRow.Hidden = True 'masque toutes les lignes

[Liste].Rows(i).Hidden = False 'sauf celle-ci
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Variant
If Intersect(Target, [B2:C2]) Is Nothing Then Exit Sub
i = Application.Match([A1], [Liste], 0)
If IsError(i) Then Exit Sub
Cancel = True

[Liste].Cells(i, Target.Column) = Time
End Sub
Liste est un nom défini (plage dynamique) par la formule :

Code:
=DECALER(Feuil1!$A$2;1;;MAX(1;EQUIV("zzz";Feuil1!$A:$A)-2))
Fichier joint.

Toujours pas d'USF à l'horizon...

A+
 

Pièces jointes

Dernière édition:
Re : Insérer l'heure via un bouton dans une cellule déja renseigné

Bonsoir,
J'ai posté un message dans l'après midi, à priori il n'est pas affiché.
Je tenais encore à vous remercier de vos réponses aussi rapide et efficace, j'ai pu mettre en oeuvre la macro voulu grace à vous,
merci encore et certainement à bientôt §😉
 
- 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