Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 21h17   #1
Invité régulier
 
veronique guyon
Inscription : mai 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : veronique guyon

Informations forums :
Inscription : mai 2010
Messages : 18
Points : 5
Points : 5
Par défaut Récupération date et heure systéme

Bjr,

Je souhaiterai créer une macro pour récupérer la date et l'heure du système à l'ouverture et la fermeture de mon ordinateur sur un fichier excel, ce qui me permettra de gérer mon temps de travail. Puis la feuille de la semaine (n° semaine) sera enregistrée automatiquement tous les vendredis soirs vers 20h, enregistrée dans un fichier avec le n° de la semaine, afin que je l'édite. Il faut que la date et l'heure soient verrouillées pour que l'on ne puisse pas les modifier manuellement.

Je sais que je peux récupérer la date et l'heure par la fonction aujourd'hui ou maintenant, mais je dois ouvrir le fichier et je ne tiens pas à l'ouvrir.

Je vous remercie de votre aide et suggestion.

Vérolyde
VEROLYDE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 22h19   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonsoir,
Voila pour la création de la feuille (le lundi uniquement) et le renseignement de l'heure de début et de fin. Précise quoi faire si le classeur est fermé avant 20 h le vendredi.
Mets le code suivant dans le module "ThisWorkbook" :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim NomFeuille As String, Ligne As Long
    NomFeuille = Application.WeekNum(Date, 21)
    With Sheets(NomFeuille)
        If .[B1] = "" Then
            Ligne = 1
        Else
            Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        End If
        .Cells(Ligne, 2) = Now
        Columns(2).AutoFit
    End With
End Sub
 
Private Sub Workbook_Open()
    Dim NomFeuille As String, Ligne As Long
    With Application
        If .Weekday(Date) = 2 Then Sheets.Add.Name = .WeekNum(Date, 21)
    NomFeuille = .WeekNum(Date, 21)
    End With
    With Sheets(NomFeuille)
        If .[A1] = "" Then
            Ligne = 1
        Else
            Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
        End If
        .Cells(Ligne, 1) = Now
        .Columns(1).AutoFit
    End With
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 11h53   #3
Invité régulier
 
veronique guyon
Inscription : mai 2010
Messages : 18
Détails du profil
Informations personnelles :
Nom : veronique guyon

Informations forums :
Inscription : mai 2010
Messages : 18
Points : 5
Points : 5
Bjr,

Merci tout d'abord à Daniel pour sa réponse. Toutefois, cela ne marche pas. Je joins le fichier pour vous montrer l'emplacement et ce que je souhaite. Je tente tout de même de vous expliquer.

Ce fichier comporte 52 semaines, correspondant à une feuille nommée ainsi : SEM 1... dans cette feuille, il y a un tableau avec les jours de la semaine du lundi au dimanche, que je dois remplir chaque jour.

A l'ouverture du fichier, qui va s'ouvrir dès l'ouverture du système, je pense mettre le fichier dans C:\Documents and Settings\All Users\Menu Démarrer\Programmes, je souhaiterai que ce fichier se mette à jour en récupérant l'heure système dans la bonne semaine et le bon jour en colonne D17 - heure d'arrivée et en colonne H17 - heure de départ (fermeture de l'ordinateur) tous les deux au format hh:mm puis verrouille les 2 cellules D17+H17.

Horaire travaillé
matin après midi
debut matin fin matin début après midi fin après midi
Lundi 07:32 13:00 14:00
Mardi 07:30 13:00 14:00 17:00
Mercredi 07:30 13:00 14:00 17:00
Jeudi 07:30 13:00 14:00 17:00
Vendredi 07:30 13:00 14:00 16:30
Samedi 00:00 00:00 00:00 00:00
Dimanche 00:00 00:00 00:00 00:00
TOTAL

En fin de semaine, le vendredi soir avant la fermeture de windows, ce fichier devra s'enregistrer directement dans un dossier que j'aurai créé et nommé : \DECOMPTE HEURES\[MOM DU FICHIER\SEM...

Je réfléchis mais je ne sais pas comment appliquer cela.

Merci de votre aide !

Vérolyde
Fichiers attachés
Type de fichier : xls TEST.xls (56,5 Ko, 6 affichages)
VEROLYDE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 12h02   #4
Expert Confirmé
 
Avatar de Godzestla
 
Homme
Chercheur de bonheur
Inscription : août 2007
Messages : 2 255
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de bonheur
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 2 255
Points : 2 979
Points : 2 979
Bonjour Véronique,

Citation:
Merci tout d'abord à Daniel pour sa réponse. Toutefois, cela ne marche pas.
Normal, tu n'as pas suivi les directives de Daniel.C. le code est dans Feuil39.
__________________
(\ _ /) Cordialement G@dz
(='.'=)

(")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.
Godzestla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h12   #5
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Effectivement, je pense que tu débutes avec les macros. Si tu ne comprends pas, pose des questions au lieu de modifier au hasard (tu as par exemple changé "21" en "38" pensant qu'il s'agissait du n° de semaine). Quand tu es sur la fenêtre de l'éditeur VBA, repère le projet qui porte le nom de ton classeur et double-clique sur "ThisWorkbook", situé en dessous. Colle alors le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim NomFeuille As String
    With Application
        NomFeuille = "SEM " & .WeekNum(Date, 21)
        Sheets(NomFeuille).[G16].Offset(.Weekday(Date, 2)) = Time
        Sheets(NomFeuille).[F16].Offset(.Weekday(Date, 2)) = #2:00:00 PM#
    End With
End Sub
 
Private Sub Workbook_Open()
    Dim NomFeuille As String
    With Application
        NomFeuille = "SEM " & .WeekNum(Date, 21)
        Sheets(NomFeuille).[D16].Offset(.Weekday(Date, 2)) = Time
        Sheets(NomFeuille).[E16].Offset(.Weekday(Date, 2)) = #1:00:00 PM#
    End With
End Sub
Pour ce qui est de l'enregistrement, pourquoi ne pas le faire à la fermeture du classeur ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 21h31   #6
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...!!!

bonsoir

le problème avec les solutions proposées c'est que en aucune façons on sais quand ca commence et a aucun moment on sait quand c'est fini

l'idée est bonne mais il va falloir faire programmer une tache avec windows

bon pour le départ de la journée on peut mettre tout simplement le fichier excel dans le dossier démarrage de windows

mais pour le soir comment fait on si on termine a 20h30 un jour ou le grand patron général descend de paris pour visiter l'établissement

une solution serai de mettre la macro de fin de journée dans le before close u workbook

et programmer une tache qui fermerais le classeur a l'instinction de l'ordi

a méditer


au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2011, 09h45   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Même si on programme l'heure de fermeture, l'heure enregistrée sera toujours celle-ci, soit, disons 20h. Autant enregistrer cette heure dès le matin ou la mettre en dur dans les feuilles à la création du classeur ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2011, 17h03   #8
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

bonjour

rectification je ne trouve pas l'idée d'ouvrir un fichier le matin et le fermer le soir


une ouverture ,inscription de la date et l'heure, fermeture achaque fois

mais je perciste a dire qu'il va faloir créer une tache

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h31.


 
 
 
 
Partenaires

Hébergement Web