Microsoft 365 Timbrage

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

  • Timbrage.xls.xlsm
    57.4 KB · Affichages: 26
C

Compte Supprimé 979

Guest
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+
 

Soins

XLDnaute Nouveau
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
 
C

Compte Supprimé 979

Guest
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+
 
C

Compte Supprimé 979

Guest
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+
 

Chapichapo

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

Soins

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

  • Timbrage.xls.xlsm
    34.7 KB · Affichages: 6
  • Plan année - Heures.xlsx
    69.4 KB · Affichages: 6

Chapichapo

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

fanch55

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

Chapichapo

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

fanch55

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

Discussions similaires

Statistiques des forums

Discussions
312 300
Messages
2 087 000
Membres
103 429
dernier inscrit
PhilippeH