IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupération date et heure systéme


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    FORMATEUR BUREAUTIQUE
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : FORMATEUR BUREAUTIQUE

    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Points : 24
    Points
    24
    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

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre à l'essai
    Femme Profil pro
    FORMATEUR BUREAUTIQUE
    Inscrit en
    Mai 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : FORMATEUR BUREAUTIQUE

    Informations forums :
    Inscription : Mai 2010
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    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 Fichiers attachés

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour Véronique,

    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.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    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

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    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 ?

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage date et heure système
    Par developppez dans le forum WinDev
    Réponses: 2
    Dernier message: 27/07/2010, 15h00
  2. Récupération date et heure
    Par Goldorak2 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 28/08/2009, 23h20
  3. date et heure système [oracle 9i]
    Par amal.atmani dans le forum SQL
    Réponses: 2
    Dernier message: 29/07/2009, 02h27
  4. Date et heure système avec java.sql
    Par reverse_engineer dans le forum Langage
    Réponses: 3
    Dernier message: 17/07/2008, 11h00
  5. récupérer la date et heure système
    Par Rnx69 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2005, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo