Création "logiciel" de pointage

Bonjour,

Comme il y a des petits soucis de pointages dans ma boite j'aimerai me faire un petit logiciel de pointage sur lequel je suis sur de pouvoir compter.

Les données :

Je dois faire 39h par semaine et j'ai une flexibilité de ±10 h (c'est a dire que je peux faire une semaine 29h si besoin et une autre semaine 49 mais il ne faut jamais que je dépasse le ±10h).

Je souhaite partir de la base en PJ.

Actuellement je rentre : mes horaires d'arrivée / de sortie à midi / de rentrer après manger / de sortie du travail.

Je les convertie en centième d'heure pour avoir plus de lisibilité.

J'ai en fin de mon tableau une colonne qui me dit si j'ai fait plus ou moins de 7h80 dans la journée (39h/5j) et enfin mon compteur qui me dit à combien j'en suis dans ±10h.

Bon voila j'ai fait le plus facile ...

Maintenant ce que j'aimerai qu'il apparaisse dans ma partie figée de mon tableur c'est un bouton sur lequel cliquer et qui me rentre directement l'horaire dans la case appropriée.

Exemple : j'arrive le matin du 16/06/2015 à 7h45 je clique sur le bouton et BAM dans la case matin du 16/06/15 s'inscrit mon heure d'arrivée. Le midi je sors manger à 12h je clique et BAM s'inscrit l'heure 12:00 dans mon tableau.

et ainsi de suite jour après jour sans avoir à trop bidouiller dans ma tableau.

Si ça n'est pas possible avec un seul bouton est possible avec 4 ? "matin" "midi" "A/M" "soir" ?

Merci de votre aide

97test-point.xlsx (40.14 Ko)

Hello, teste ce fichier en retour.

179test-point.xlsm (53.63 Ko)

Super,

Peux tu m'expliquer comment tu as fait ça ?

Merci en tout cas !

Re.

Dans un module VBA j'ai mis:

Sub afficher_menu()

Menu.Show

End Sub

Qui me permet d'afficher un formulaire (le nom de mon formulaire étant "Menu")

Ensuite dans le code de mon formulaire

'Déclarer la variable d comme étant une date
Dim d As Date

'Action qui se déclenche au clic sur le bouton AM (Bouton Après-midi dans le menu)
Private Sub AM_Click()
'Je place la date du jour dans ma variable d
d = Format(Now, "MM/DD/YYYY")

'Je recherche cette date dans la colonne 2 de ma feuille 1 
Set c = Sheets("Tabelle1").Columns(2).Find(what:=d, lookat:=xlPart, LookIn:=xlFormulas)
'Si jamais la recherche ne donne aucun résultat, afficher une message box indiquant la nature de l'erreur
If c Is Nothing Then
MsgBox ("Date non trouvée")
Else
'Sinon vérifier qu'il n'y a pas d'heure dans la cellule correspondant à l'après-midi pour la ligne trouvée
'Si c'est le cas ajouter l'heure système au format HH:MM:SS
    If c.Offset(0, 6).Value = "" Then
    c.Offset(0, 6).Value = Format(Now, "HH:MM:SS")
    Else
'Si une heure est déjà présente dans la case, afficher un message d'information
    MsgBox ("Vous avez déjà pointé cet après-midi")
    End If
End If

'A ajouter j'ai oublié pour masquer le formulaire à la fin du code
Unload Me
End Sub

'Les autres sous procédures sont similaires
Private Sub Matin_Click()
d = Format(Now, "MM/DD/YYYY")

Set c = Sheets("Tabelle1").Columns(2).Find(what:=d, lookat:=xlPart, LookIn:=xlFormulas)
If c Is Nothing Then
MsgBox ("Date non trouvée")
Else
    If c.Offset(0, 1).Value = "" Then
    c.Offset(0, 1).Value = Format(Now, "HH:MM:SS")
    Else
    MsgBox ("Vous avez déjà pointé ce matin")
    End If
End If
End Sub

Private Sub Midi_Click()
d = Format(Now, "MM/DD/YYYY")

Set c = Sheets("Tabelle1").Columns(2).Find(what:=d, lookat:=xlPart, LookIn:=xlFormulas)
If c Is Nothing Then
MsgBox ("Date non trouvée")
Else
    If c.Offset(0, 3).Value = "" Then
    c.Offset(0, 3).Value = Format(Now, "HH:MM:SS")
    Else
    MsgBox ("Vous avez déjà pointé ce midi")
    End If
End If
End Sub

Private Sub Soir_Click()
d = Format(Now, "MM/DD/YYYY")

Set c = Sheets("Tabelle1").Columns(2).Find(what:=d, lookat:=xlPart, LookIn:=xlFormulas)
If c Is Nothing Then
MsgBox ("Date non trouvée")
Else
    If c.Offset(0, 8).Value = "" Then
    c.Offset(0, 8).Value = Format(Now, "HH:MM:SS")
    Else
    MsgBox ("Vous avez déjà pointé ce soir")
    End If
End If
End Sub
Rechercher des sujets similaires à "creation logiciel pointage"