Microsoft 365 Timbrage

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

Soins

XLDnaute Nouveau
Bonsoir à tous,

J'ai créer un dossier pour que mes collaborateurs puisse timbrer, mais je voudrais que les heures de timbrages soient envoyer dans un autre classeur que celui du timbrage. Est-ce possible?
Je mets en pièce jointe le document créer.
Je voudrais savoir aussi si c'est possible de utiliser le document créer pour le mettre dans une tablette et utiliser la tablette comme poste de timbrage.
Merci beaucoup pour votre aide et bonne soirée
 

Pièces jointes

Bonjour Soins et bienvenue sur ce forum 😉

Pour la première question, oui c'est faisable, sauf que tu veux mettre ça sur une tablette.
Si elle est sous Android, oublie tout de suite ce que tu veux faire en VBA, passe à Google Sheet et les Scripts

A+
 
Bonjour Soins et bienvenue sur ce forum 😉

Pour la première question, oui c'est faisable, sauf que tu veux mettre ça sur une tablette.
Si elle est sous Android, oublie tout de suite ce que tu veux faire en VBA, passe à Google Sheet et les Scripts

A+
Bonjour BrunoM45
OK alors c'est pas possible sur tablette, mais sur PC c'est faisable. Comment je peux faire pour que ça colle l'heure copier avec le bouton sur un autre classeur?
Merci et bonne journée
 
Bonjour Chapichapo

La procédure est simple quand on connait 😉
1) Mettre dans ThisWorkbook, ce code :
VB:
Private Sub Workbook_Open()
  ' "Horloge" nom de la macro à lancer à l'ouverture
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

2) Mettre dans un module, ce code
Code:
Sub Horloge()
  ' Variables:
  ' "heure" nom de la feuille
  ' "E2" cellule affichant l'heure
  ThisWorkbook.Sheets("heure").Range("E2") = Time
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

Voilà, c'est tout, il suffit ensuite de fermer et de rouvrir le classeur

A+
 
Bonjour BrunoM45
OK alors c'est pas possible sur tablette, mais sur PC c'est faisable. Comment je peux faire pour que ça colle l'heure copier avec le bouton sur un autre classeur?
Merci et bonne journée
Si on veut ouvrir un autre classeur, inscrire l'heure puis le fermer
Un exemple possible
VB:
Sub EnrHeure()
  Dim sPath As String, sNomFic As String
  Dim Valheure As String
  Dim Wbk As Workbook
  ' Mémoriser la valeur de l'heure
  Valheure = Sheets("Heure").Range("E2")
  ' Ce ne sont que des valeurs exemples
  sPath = "C:\Temp":  sNomFic = "HeuresEnregistrées.xlsx"
  Set Wbk = Workbooks.Open(sPath & sfic)
  ' Dans la 1ère feuille du classeur
  With Wbk.Sheets(1)
    .Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = Valheure
  End With
  Wbk.Close SaveChanges:=True
  Set Wbk = Nothing
End Sub

A+
 
Bonjour Chapichapo

La procédure est simple quand on connait 😉
1) Mettre dans ThisWorkbook, ce code :
VB:
Private Sub Workbook_Open()
  ' "Horloge" nom de la macro à lancer à l'ouverture
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

2) Mettre dans un module, ce code
Code:
Sub Horloge()
  ' Variables:
  ' "heure" nom de la feuille
  ' "E2" cellule affichant l'heure
  ThisWorkbook.Sheets("heure").Range("E2") = Time
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

Voilà, c'est tout, il suffit ensuite de fermer et de rouvrir le classeur

A+
Bonsoir BrunoM45,
Un grand merci pour le code ! Il me sera d'une très grande utilité.
Bonne nuit
 
Si on veut ouvrir un autre classeur, inscrire l'heure puis le fermer
Un exemple possible
VB:
Sub EnrHeure()
  Dim sPath As String, sNomFic As String
  Dim Valheure As String
  Dim Wbk As Workbook
  ' Mémoriser la valeur de l'heure
  Valheure = Sheets("Heure").Range("E2")
  ' Ce ne sont que des valeurs exemples
  sPath = "C:\Temp":  sNomFic = "HeuresEnregistrées.xlsx"
  Set Wbk = Workbooks.Open(sPath & sfic)
  ' Dans la 1ère feuille du classeur
  With Wbk.Sheets(1)
    .Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = Valheure
  End With
  Wbk.Close SaveChanges:=True
  Set Wbk = Nothing
End Sub

A+
Mais comment faire que en cliquant sur le bouton cela copie l'heure de H15 et la colle dans un autre classeur à la date de aujourd'hui. Je mets les ficher en annexe
Merci beaucoup
 

Pièces jointes

Bonjour Chapichapo

La procédure est simple quand on connait 😉
1) Mettre dans ThisWorkbook, ce code :
VB:
Private Sub Workbook_Open()
  ' "Horloge" nom de la macro à lancer à l'ouverture
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

2) Mettre dans un module, ce code
Code:
Sub Horloge()
  ' Variables:
  ' "heure" nom de la feuille
  ' "E2" cellule affichant l'heure
  ThisWorkbook.Sheets("heure").Range("E2") = Time
  Application.OnTime Now + TimeValue("00:00:01"), "Horloge"
End Sub

Voilà, c'est tout, il suffit ensuite de fermer et de rouvrir le classeur

A+
Bonsoir Bruno M45,

J'ai essayé d'adapter votre code à mes besoins mais la cellule reste désespérément vide

je souhaite mettre cette "horloge" dans la cellule N2 sur la feuille tableau_de_bord

j'ai donc dans this workbook indiqué :

VB:
Private Sub Workbook_Open()
  ' "tableau_de_bord" nom de la macro à lancer à l'ouverture
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub

dans un module :

Code:
Sub tableau_de_bord()
  ' Variables:
  ' "tableau_de_bord" nom de la feuille
  ' "N2" cellule affichant l'heure
  ThisWorkbook.Sheets("tableau_de_bord").Range("N2") = Time
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub

Enregistrement et sortie du fichier
à la nouvelle ouverture, la cellule est vide.

et indique Erreur d'exécution 9

je ne vois pas où se situe l'erreur.

Pourriez vous m'aider ?

Merci bcp
 
Bonsoir,
ThisWorkbook.Sheets("tableau_de_bord").Range("N2") = Time
@Chapichapo La feuille a bien le nom indiquée ?
Sinon donnez un nom à votre cellule et faites-y référence dans la sub :
VB:
Sub tableau_de_bord()
  [Horloge] = Time
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub
1673726919442.png

Sinon vous pouvez utiliser un Shape (Insertion/Forme) :
VB:
Sub tableau_de_bord()
  [MonHorloge].Text = Format(Time, "HH:MM:SS")
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub
1673727636094.png
 
Bonsoir,

@Chapichapo La feuille a bien le nom indiquée ?
Sinon donnez un nom à votre cellule et faites-y référence dans la sub :
VB:
Sub tableau_de_bord()
  [Horloge] = Time
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub
Regarde la pièce jointe 1160380

Sinon vous pouvez utiliser un Shape (Insertion/Forme) :
VB:
Sub tableau_de_bord()
  [MonHorloge].Text = Format(Time, "HH:MM:SS")
  Application.OnTime Now + TimeValue("00:00:01"), "tableau_de_bord"
End Sub
Regarde la pièce jointe 1160381
 
Merci pour votre réponse.

le nom de la feuille est bien tableau_de_bord.

mais comment obtient-on l'écran modifier le nom ou où trouver le shape ?

je ne connais pas ces fonctions.

Merci bcp
VB:
Sub Tableau_de_Bord()
On Error Resume Next
    H = Format(Time, "HH:MM:SS")
    [MonHorloge].Text = H
    [Horloge] = H
    Application.OnTime Now + TimeValue("00:00:01"), "Tableau_de_Bord"
End Sub
Définir un Nom :
chapi_Nom.gif
Insérer un shape :
chapi_shape.gif
 
- 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

Discussions similaires

  • Question Question
Réponses
5
Affichages
167
Réponses
5
Affichages
1 K
Réponses
10
Affichages
349
  • Question Question
XL 2019 VBA
Réponses
10
Affichages
1 K
Réponses
4
Affichages
337
Retour