bonjour tout le mode, j'ai une question a vous posez. je voudrais savoir si avec excel il etait possible de faire un classeur anuelle de pointage des heures.
je vous explique,
j'ai une base de donnees de personnel avec leurs matricule qui est un codebarre
je voudrai que quand il arrive ou par en pause ou fin de journne, ils viennent scanner leurs code et que automatiquement excel reconnais les information de l'employe et pointe sont heure de pointage dans le tableau excel et le lendemain pareil.
Bonjour,
Pourquoi faire simple quand on peut faire compliqué ??
Le pointage avec le code barre pourrait te créer de problèmes, le plus fiable c'est avec l'empreinte.
Autre chose, je conseille des pointeuses qui ne sont pas chères, et vous pouvez toutefois récupérer les informations sous forme de base de données vers Excel.
Bonjour,
Pourquoi faire simple quand on peut faire compliqué ??
Le pointage avec le code barre pourrait te créer de problèmes, le plus fiable c'est avec l'empreinte.
Autre chose, je conseille des pointeuses qui ne sont pas chères, et vous pouvez toutefois récupérer les informations sous forme de base de données vers Excel.
bonjour et merci pour votre reponse tres rapide,
ici au cambodge il y a rien comme poiteuse et c'est pour cela que je voulais le faire avec un lecteur de code barre.
Bonjour,
Pourquoi faire simple quand on peut faire compliqué ??
Le pointage avec le code barre pourrait te créer de problèmes, le plus fiable c'est avec l'empreinte.
Autre chose, je conseille des pointeuses qui ne sont pas chères, et vous pouvez toutefois récupérer les informations sous forme de base de données vers Excel.
bonjour et merci pour votre reponse tres rapide,
ici au cambodge il y a rien comme poiteuse et c'est pour cela que je voulais le faire avec un lecteur de code barre.
Oui, c'est possible de créer un classeur annuel de pointage des heures avec Excel en utilisant des formules et des macros pour automatiser certaines tâches. Vous pouvez utiliser le code barre pour identifier les employés et enregistrer les horaires d'arrivée et de départ. Vous pouvez également utiliser des formules pour calculer le temps total travaillé par chaque employé et produire des rapports en fonction de vos besoins.
Voici un exemple de code VBA a tester (si j'ai bien compris )
Sub Pointage_Heures() 'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables Dim CodeBarre As String Dim Nom As String Dim HeureArrivee As Date Dim HeureDepart As Date
'Demander d'entrer le code barre CodeBarre = InputBox("Entrez le code barre de l'employé")
'Rechercher le nom de l'employé à partir de son code barre Nom = Application.WorksheetFunction.VLookup(CodeBarre, Range("A2:B100"), 2, False)
'Demander d'entrer l'heure d'arrivée ou de départ HeureArrivee = InputBox("Entrez l'heure d'arrivée ou de départ")
'Rechercher la dernière cellule non vide dans la colonne pour la personne spécifique Dim LastRow As Long LastRow = Cells(Rows.Count, "C").End(xlUp).Row
'Enregistrer l'heure d'arrivée ou de départ dans la colonne appropriée If TimeValue(HeureArrivee) < TimeValue("12:00:00 PM") Then Cells(LastRow + 1, "C").Value = HeureArrivee Cells(LastRow + 1, "A").Valeur = Nom Else Cells(LastRow, "D").Valeur = HeureArrivee Cells(LastRow, "A").Valeur = Nom End If
merci pour ta reponse rapide, j'ai copier ton exemple de code mais je ,n'arrive pas a le faire fonctionner, aurais tu le code avec un exeple de feuil excel s'il te plait merci
Sub Pointage_Heures() 'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables Dim CodeBarre As String Dim Nom As String Dim HeureArrivee As Date Dim HeureDepart As Date
'Demander d'entrer le code barre CodeBarre = InputBox("Entrez le code barre de l'employé")
'Rechercher le nom de l'employé à partir de son code barre Nom = Application.WorksheetFunction.VLookup(CodeBarre, Range("A2:B100"), 2, False)
'Demander d'entrer l'heure d'arrivée ou de départ HeureArrivee = InputBox("Entrez l'heure d'arrivée ou de départ")
'Rechercher la dernière cellule non vide dans la colonne pour la personne spécifique Dim LastRow As Long LastRow = Cells(Rows.Count, "C").End(xlUp).Row
'Enregistrer l'heure d'arrivée ou de départ dans la colonne appropriée If TimeValue(HeureArrivee) < TimeValue("12:00:00 PM") Then Cells(LastRow + 1, "C").Value = HeureArrivee Cells(LastRow + 1, "A").Valeur = Nom Else Cells(LastRow, "D").Valeur = HeureArrivee Cells(LastRow, "A").Valeur = Nom End If
End sub
Ensuite, il faut remplacer les "Valeur" par "Value".
Et pour que ça fonctionne, je pense qu'il faut que la colonne A soit au format texte.
Attention, tel quel, ça écrase le tableau des codes-barres.
Le code corrigé ("Valeur" remplacé par "Value") et mis en forme (sauts de ligne et indentation) donne ceci :
VB:
Sub Pointage_Heures()
'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables
Dim CodeBarre As String
Dim Nom As String
Dim HeureArrivee As Date
Dim HeureDepart As Date
'Demander d'entrer le code barre
CodeBarre = InputBox("Entrez le code barre de l'employé")
'Rechercher le nom de l'employé à partir de son code barre
Nom = Application.WorksheetFunction.VLookup(CodeBarre, Range("A2:B6"), 2, False)
'Demander d'entrer l'heure d'arrivée ou de départ
HeureArrivee = InputBox("Entrez l'heure d'arrivée ou de départ")
'Rechercher la dernière cellule non vide dans la colonne pour la personne spécifique
Dim LastRow As Long
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
'Enregistrer l'heure d'arrivée ou de départ dans la colonne appropriée
If TimeValue(HeureArrivee) < TimeValue("12:00:00 PM") Then
Cells(LastRow + 1, "C").Value = HeureArrivee
Cells(LastRow + 1, "A").Value = Nom
Else
Cells(LastRow, "D").Value = HeureArrivee
Cells(LastRow, "A").Value = Nom
End If
End Sub
Ensuite, il faut remplacer les "Valeur" par "Value".
Et pour que ça fonctionne, je pense qu'il faut que la colonne A soit au format texte.
Le code n'est qu'un exemple, donc ça écrit l'horaire saisi un peu n'importe où.
Le code corrigé ("Valeur" remplacé par "Value") et mis en forme (sauts de ligne et indentation) donne ceci :
VB:
Sub Pointage_Heures()
'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables
Dim CodeBarre As String
Dim Nom As String
Dim HeureArrivee As Date
Dim HeureDepart As Date
'Demander d'entrer le code barre
CodeBarre = InputBox("Entrez le code barre de l'employé")
'Rechercher le nom de l'employé à partir de son code barre
Nom = Application.WorksheetFunction.VLookup(CodeBarre, Range("A2:B6"), 2, False)
'Demander d'entrer l'heure d'arrivée ou de départ
HeureArrivee = InputBox("Entrez l'heure d'arrivée ou de départ")
'Rechercher la dernière cellule non vide dans la colonne pour la personne spécifique
Dim LastRow As Long
LastRow = Cells(Rows.Count, "C").End(xlUp).Row
'Enregistrer l'heure d'arrivée ou de départ dans la colonne appropriée
If TimeValue(HeureArrivee) < TimeValue("12:00:00 PM") Then
Cells(LastRow + 1, "C").Value = HeureArrivee
Cells(LastRow + 1, "A").Value = Nom
Else
Cells(LastRow, "D").Value = HeureArrivee
Cells(LastRow, "A").Value = Nom
End If
End Sub