Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Chapichapo

XLDnaute Junior
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
bj,
Comment avez vous fait pour avoir cette horloge dans le document excel : belle trouvaille !
ce serait gentil de donner la procédure à suivre.
merci bcp
 
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
Bonsoir BrunoM45,
Un grand merci pour le code ! Il me sera d'une très grande utilité.
Bonne nuit
 

Soins

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

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
 

Chapichapo

XLDnaute Junior
 

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 :
Insérer un shape :
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…