Créer un logiciel de présence

Bonjour à tous,

J'aimerais créer un fichier excel (sécurisé si possible) avec une liste de membre et, si je tape le n° d'identification d'un membre (ou son nom avec une barre de recherche pq pas ?), excel rentre automatiquement l'heure d'arrivée, le nom, le prénom,... et demande son activité (lecture,...) et la rentre aussi dans un tableau imprimable et consultable à posteriori (création d'un autre document?).

Si c'est possible vous pourriez m'aider vraiment beaucoup.

Bonne journée à vous

Bonjour

Pourquoi ne pas regarder déjà dans la section téléchargement --> https://www.excel-pratique.com/fr/telechargements/gestion-du-personnel-c9
Vous devriez trouver un fichier qui se rapproche ou est à utiliser dans votre cas

Cordialement

Merci bcp pour votre réponse rapide mais j'aimerais un document avec une "interface" client ou les clients pourrait s'inscrire d'eux-mêmes et une interface manager.

Vous devriez plutôt préparer quelque chose
Après c'est plus facile de conseiller ce qu'il vaut mieux de faire

Voilà un premier jet.

J'aimerais qu'en cliquant sur 'senregistrer, excel mette les infos présente sur le page enregistrement vers la page tavleau, sous forme de tableau afin de pouvoir voir qui est arrivé et QUAND (en ajoutant l'heure).

Merci pour votre aide

PS: ID = admin et MDP = admin

Ok je vois le fichier

J'ai une première question : Pourquoi mettez-vous un trait devant les nom définis comme Utilisateur,;...
De base, utilisez toujours des minuscules et pas d'accents
Attention aussi aux couleurs (c'est un peu flashi le rouge...), cela peut alourdir votre fichier inutilement.

Après si je me logue, dites moi ce que vous voulez


Edit : Aussi une chose, il est préférable de masquer les feuilles à l'ouverture du fichier. Une fois le mot de passe affiché vous déterminez qui a accès à quoi. Comme cela est actuellement c'est pas mal mais il suffirait de ne pas activer les macros pour que chaque utilisateur puisse accéder à toutes les feuilles
A voir plus tard

Merci pour ses conseils.

ID = admin

MDP = admin

Serait-il possible de faire avec du VBA ou non pour que qd on appui sur le bouton, cela enregistre dans un tableau le nom, le prénom (remplis en fonctoin du n° : j'ai fait recherchev), l'heure et la date d'arrivée ainsi que l'activité (qui serait préalablement remplis par l'utilisateur) et de nettoyer le formulaire. Un utlisateur peut venir plusieurs fois par jour.

Voici une autre version avec qques modifs.

Merci beaucoup

19essai-inscript.xlsm (33.86 Ko)

re

Je regarde ce point.
En attendant dans thisworkbook, remplacez vos deux codes par ceux ci-dessous

Private Sub Workbook_Open()
Range("utilisateur") = "aucun"
MsgBox "Bonjour, afin d'acceder à ce document, connectez-vous" & vbLf & _
"(vous êtes actuellement déconnecté et vous ne pouvez pas utiliser les fonctions de ce document)", vbInformation, "Information"
Call connecter
End Sub

et celui-ci (il vaut mieux ne pas utiliser des noms qui sont repris dans des formules ou instruction d'excel. C'est le cas pour le nom "cellule" que vous reprenez dans le code. Votre code comme ceci

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim cel As Range
For Each cel In [rubriques]
    If cel = Sh.Name Then
        If cel.Offset(0, 1) <> True Then
            PRINCIPALE.Activate
            MsgBox "Accès Interdit avec cet utilisateur." & vbLf & "Contacter l'adminstrateur pour plus d'infos !", vbCritical, "Accès Interdit"
        End If
    End If
Next cel
End Sub

merci de ne pas reposter de fichier.

J'ai votre fichier de travail sur lequel je fais ce que vous demandez


EDIT :
- c'est bien le tableau de la feuille Eleves que l'on doit compléter
- votre feuille élèves contient un tableau structuré. Vous ne devez jamais avoir de ligne sans données dans un tableau structuré !. Donc votre tableau doit être dimensionné de A1 à D3. Redimensionnez votre tableau. Dès que vous allez ajouter une donnée en A4 vous allez voir que le tableau s'adapte tout seul
Je vais vous donner le code dans un prochain message

Re EDIT :
On ajoute l'heure à quel endroit ? Colonne E de la feuille Eleves ?
Là on peut ajouter la date et l'heure automatiquement sur click du bouton enregistrer

Merci pour ce début fantastique !

En fait, il faudrait que dans élèves, j'ai la liste de mes élèves.

Et, quand ils passent, que leur passage s'inscrive dans TABLEAU avec un tableau avec l'heure, le nom, le prénom et l'activité.

et au passage, comment fait-on pour cacher les feuilles avent déverrouillage et pour interdire l'accès au code.

Merci par avance

Et, quand ils passent, que leur passage s'inscrive dans TABLEAU avec un tableau avec l'heure, le nom, le prénom et l'activité.

Vous ne répondez pas à la question que je vous ai posée --> cfr "Re Edit"

comment fait-on pour cacher les feuilles avent déverrouillage et pour interdire l'accès au code.

On va regarder plus tard pour ne pas mélanger tout

Désolé pour mes éffusions et ma non-clarté.

On ajoute l'heure avec touts les infos de passage dans l'onglet TABLEAU colonne F par exemple avec en E l'activité, en A le N°, en B le nom,...

Bon voici ce que vous devez modifier

1. Feuille enregistrement
- Défusionnez J2, K2, L2
- Supprimez les colonnes N et O
- en J2 vous avez la date via la formule que vous avez mise --> =MAINTENANT()
- Redimensionnez la colonne J (pas besoin de fusion, on sait élargir une colonne...)
- en J3 vous mettez cette formule en lieu et place --> =HEURE(MAINTENANT())& " h " & MINUTE(MAINTENANT())

2. Feuille Eleves
- En E1, ajoutez le titre Activité
- En F1, vous ne me donnez pas le titre donc ajoutez Date & Heure ou ???? --> Là le code mettra la date et l'heure

3. dans l'éditeur VBA
- Important :
Attention à bien redimensionner le tableau en feuille Eleves comme je vous ai expliqué avant; Sans quoi, le code va buguer car Tableau1 est dimensionné jusqu'au bas de la feuille. Pour redimensionner le tableau dans le fichier tel que posté, cliquez dans une cellule du tableau puis vous allez dans le menu "Création de tableau" et vous cliquez sur "redimensionner tableau". Là vous mettez --> $A$1:$D$3
- Pour les codes, je ferais un nouveau module (mais si vous voulez vous pouvez complétez le module 1).
- Ajoutez ce code pour l'enregistrement

Option Explicit
Sub enregistrement() 'enregistrer donnees
Dim lig As Integer

With Range("Tableau1").ListObject
    If .ListRows.Count = 0 Then
        .ListRows.Add: lig = 1
    Else: .ListRows.Add: lig = .ListRows.Count 'insérer à la dernière ligne
    End If
    With .DataBodyRange
        .Item(lig, 1) = Feuil5.Range("E5").Value 'num
        .Item(lig, 2) = Feuil5.Range("G8").Value 'nom
        .Item(lig, 3) = Feuil5.Range("G10").Value 'prenom
        .Item(lig, 4) = Feuil5.Range("G12").Value 'classe
        .Item(lig, 5) = Feuil5.Range("G15").Value 'activite
        .Item(lig, 6) = Now() 'date et heure
    End With
End With
Call effacer
End Sub

Sub effacer() 'effacer dans formulaire enregistrement
Feuil5.Range("E5:G5, G8:G12").ClearContents
End Sub

NB : Range("E5:G5") dans le code effacer parce que vous fusionner les colonnes. les fusions VBA aime pas trop. Le mieux serait de mettre en E5 puis sélectionner E5 à G5 et aller dans format de cellules et sous l'onglet Alignement --> alignement --> choisir "centrer sur plusieurs colonnes"

MERCI BEAUCOUP, C'EST INCROYABLE !!!!!

Pour les autres problèmes (sécurité des macros et affichage des onglets), avez-vous des solutions ?

Pour les autres problèmes (sécurité des macros et affichage des onglets), avez-vous des solutions ?

je vais regarder ce point
Le mieux est de masquer les onglets à la fermeture du fichier.
Après lorsque le code admin ou autre est bon on affiche ce que vous avez déterminé dans la feuille Gestion accès
Là il faut me donner des infos sur les règles à suivre

C'est gentil, j'aimerais seul les personnes ayant tout les droits puisse voir les macro.

de plus, seul les personnes ayant le droit d'acceder à un onglet peuvent voir ce dernier SVP

De plus, pourriez-vous m'indiquer le code à mettre si je veux créer un bouton suivant qui permet de passer de la cellule n° à la cellule activité?

Et le code qui ferait que après l'enregistrement, ca revient automatiquement sur la cellule n°?

Merci par avance

C'est gentil, j'aimerais seul les personnes ayant tout les droits puisse voir les macro.

bah là il faut aller mettre des mots de passe dans l'éditeur VBA et ne pas les oublier...

de plus, seul les personnes ayant le droit d'acceder à un onglet peuvent voir ce dernier SVP

Heu c'est à dire ?

De plus, pourriez-vous m'indiquer le code à mettre si je veux créer un bouton suivant qui permet de passer de la cellule n° à la cellule activité?

Heu pourquoi voulez faire çà, c'est un peu compliqué, je trouve. le mieux est de déverrouiller les cellules à compléter et de placer un mot de passe sur la feuille

Et le code qui ferait que après l'enregistrement, ca revient automatiquement sur la cellule n°?

Pas de code, il suffit de mettre ceci à la fin du code Enregistrement juste avant le END SUB

Feuil5.Range("E5").Select

de plus, seul les personnes ayant le droit d'acceder à un onglet peuvent voir ce dernier SVP

Heu c'est à dire ?

Es-ce possible de faire en sorte que, par exemple, seul l'admin puisse voir l'onglet GESTION ACCES et que "aucun" ne puisse pas le voir ?

et comment fait-on pour mettre un mdp sur les macros ?

Rechercher des sujets similaires à "creer logiciel presence"