Microsoft 365 outil pointage adherent via code barre

POULINOS

XLDnaute Nouveau
Bonjour à toutes et à tous.
Novice su ce forum et en VBA, j'espère que je vais pouvoir me faire comprendre et aider.

Voilà le but de mon tableau Excel.
Je voudrais pouvoir gérer la présence des adhérents notre équipe de baby basket à leur entrainement hebdomadaire.
Chaque joueur (se) possède une carte l'identifiant (nom prénom code barre), que nous tamponnons à chaque séance lorsqu'il (elle) est présent(e).
Côté club nous devons pouvoir pointer rapidement leur présence à la présentation de la carte.
Nous lirons le code barre via une douchette.

Le listing souhaité (avec un onglet par séance je pense pour être plus lisible) comportera en colonne le nom , prénom, le groupe de niveau (petit, moyen, grand), le code barre attribué ainsi PRESENT/ABSENT.

Cette dernière colonne (PRESENT/ABSENT) sera la seule variable puisque les autres informations seront incrémentées en début de saison; sachant que par défaut le statut du joueur(se) sera ABSENT.

Si ces cellules peuvent être en rouge si ABSENT et vert si PRESENT ce serait TOP.

D'avance un grand merci pour votre aide et bonne fin de week-end.
 

POULINOS

XLDnaute Nouveau
Bonjour Poulinos,
Il est où le petit fichier test qui permettrait de mieux comprendre ? :)
Sylvanu.
Et voilà le fichier.
Ce que j'aimerait c'est que le statut PRESENT ou se mette automatiquement dans la colonne Statut sans créer de ligne.
Qui plus est le fait que nous puissions scanner le codebarre veut dire que le joueur(se) est présent(te) donc au final pas de question pour savoir s'il/elle est là ou non. Et donc valider le stat présent lorsque l'on scanne.
Voili voilà pour ma premier cas sur ce forum ;)
Merci encore pour ton aide et celles des autres et bel après-midi.
 

Pièces jointes

  • Presence Baby Basket.xlsm
    28.8 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Poulinos,
Pas bien compris vos macros. Alors un essai en PJ.
Le joueur est identifié par son code, puis est noté absent/présent.
L'horaire d'arrivée ou de départ est aussi enregistrée.
VB:
Sub Pointage_Presence()
'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables
Dim CodeBarre As String, Statut As String, Ligne As Integer
'Demander d'entrer le code barre
CodeBarre = InputBox("Entrez le code barre de l'employé")
' Si appui sur Annuler
If CodeBarre = "" Then Exit Sub
' Le code existe t-il ?
If Application.CountIf([A:A], CodeBarre) = 0 Then
    MsgBox "Ce code barre est absent de la base."
    Exit Sub
Else
    'Rechercher le nom de l'employé à partir de son code barre
    Ligne = Application.Match(CodeBarre, [A:A], 0)
    'Demander si joueur présent ou absent
    Statut = MsgBox("Le joueur est -il présent ?", vbYesNoCancel)
    ' Réponse: 6 pour oui, et 7 pour non.
    ' Enregistre Absent/Présent ainsi que les horaires arrivée/départ.
    Select Case Statut
        Case 6
            Cells(Ligne, "D") = "PRESENT"
            Cells(Ligne, "E") = Time
            Cells(Ligne, "F") = ""
        Case 7
            Cells(Ligne, "D") = "ABSENT"
            Cells(Ligne, "E") = ""
            Cells(Ligne, "F") = Time
        Case Else: Exit Sub
    End Select
End If
End Sub
A noter qu'un code se met dans un module.
Ce code peut être appelé de n'importe quelle feuille, puisque c'est la feuille active qui sera traitée par défaut.
 

Pièces jointes

  • Presence Baby Basket.xlsm
    25.3 KB · Affichages: 7

POULINOS

XLDnaute Nouveau
Bonjour Poulinos,
Pas bien compris vos macros. Alors un essai en PJ.
Le joueur est identifié par son code, puis est noté absent/présent.
L'horaire d'arrivée ou de départ est aussi enregistrée.
VB:
Sub Pointage_Presence()
'Créer une macro pour enregistrer les heures d'arrivée et de départ
'Définir les variables
Dim CodeBarre As String, Statut As String, Ligne As Integer
'Demander d'entrer le code barre
CodeBarre = InputBox("Entrez le code barre de l'employé")
' Si appui sur Annuler
If CodeBarre = "" Then Exit Sub
' Le code existe t-il ?
If Application.CountIf([A:A], CodeBarre) = 0 Then
    MsgBox "Ce code barre est absent de la base."
    Exit Sub
Else
    'Rechercher le nom de l'employé à partir de son code barre
    Ligne = Application.Match(CodeBarre, [A:A], 0)
    'Demander si joueur présent ou absent
    Statut = MsgBox("Le joueur est -il présent ?", vbYesNoCancel)
    ' Réponse: 6 pour oui, et 7 pour non.
    ' Enregistre Absent/Présent ainsi que les horaires arrivée/départ.
    Select Case Statut
        Case 6
            Cells(Ligne, "D") = "PRESENT"
            Cells(Ligne, "E") = Time
            Cells(Ligne, "F") = ""
        Case 7
            Cells(Ligne, "D") = "ABSENT"
            Cells(Ligne, "E") = ""
            Cells(Ligne, "F") = Time
        Case Else: Exit Sub
    End Select
End If
End Sub
A noter qu'un code se met dans un module.
Ce code peut être appelé de n'importe quelle feuille, puisque c'est la feuille active qui sera traitée par défaut.
Bonsoir Sylvanu,
C'est génial merci pour ton code et les conseils.

J'aurais 2 requêtes complémentaire qui me sont venues :
1-Comment puis ajouter la demande de nom et prénom si jamais le joueur/se n'a pas sa carte et donc son code barre?
2-A partir du moment où le code part est scanné ou bien encore que le Nom + Prénom sont trouvés, le statut devrait passer automatiquement à PRESENT. Sans passer par la question PRESENT OUI / NON.
Sachant que par défaut tous les membres ont le statut ABSENT.
Le but étant d'aller vite car pour pointer rapidement nos jeunes.

Mille mercis pour ton (votre) aide.
Bonne soirée
 

Pièces jointes

  • Presence Baby Basket (1).xlsm
    28.3 KB · Affichages: 4

POULINOS

XLDnaute Nouveau
Alors dans ce cas le plus rapide est surement d'utiliser un userform.
On entre indifféremment le code barre, ou on choisit le joueur dans la liste.
Voir PJ à tester.
Hello Sylvanu,
Merci à nouveau pour cette modif.
J'ai encore une demande pour que cela soit parfait.
Dans la partie basse du useform? je voudrais qu'en saisissant le début du nom du joueur/se, la liste se positionne sur les adhérents ayant un nom commençant par ces première lettres.
Penses-tu cela possible?
Mille mercis à nouveau et belle journée.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Pas avec l'option que j'ai prise de mettre code nom prénom dans la liste.
Mais vous pouvez vous inspirez de :
ou de
pour y arriver, mais dans ce cas il faut que seul le nom figure dans la liste.
 

Statistiques des forums

Discussions
313 211
Messages
2 096 246
Membres
106 542
dernier inscrit
Barnabousse