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

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.
 

job75

XLDnaute Barbatruc
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+
 

job75

XLDnaute Barbatruc
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

  • Heures(1).xls
    37.5 KB · Affichages: 70
  • Heures(1).xls
    37.5 KB · Affichages: 76
  • Heures(1).xls
    37.5 KB · Affichages: 73
Dernière édition:

ldr33

XLDnaute Nouveau
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 §;)
 

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes