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

Excel Discussion :

Date de modification du document


Sujet :

Excel

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Date de modification du document
    Bonjour,

    est-il possible d'insérer la date de modification du document ou de la feuille à la manière de =MAINTENANT() ?

    genre =DATEMODIF()

    Merci d'avance.


  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Tchupacabra

    A l'ouverture du fichier vous pouvez afficher dans la cellule la dernière date de sauvegarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Derniere_date_modif
    datsav = Format(FileDateTime("C:\mon_dossier\mon_fichier.xls"), "dd/mm/yyyy")
    Cells(1 , 1) = datsav
    End sub
    ou afficher la date du jour dans une cellule en double-cliquant dessus (la date précédente si elle existe sera écrasée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Worksheet_Change(ByVal Target As Range)
     
    d = Cells(1, 1)
     
    If Target.Column = 1 And Target.Row = 1 Then
    d = Date
    Range("A1").Value = d
    End If
    End Sub
    ou (même chose que le code précédent sauf que la date ne s'inscrira que si la date précédente a été effacée) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Worksheet_Change(ByVal Target As Range)
     
    d = Cells(1, 1)
    If Target.Column = 1 And Target.Row = 1 And d = "" Then
    d = Date
    Range("A1").Value = d
    End If
    End Sub
    Mais il y a sans doute d'autres solutions.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Bonjour

    A l'ouverture du fichier la cellule A1 affiche la dernière sauvegarde du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub Auto_Open
      Range("A1") = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
    End Sub
    Abed_H

  4. #4
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Bonjour à tous et merci...

    voici la solution que je retiendrai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
        chemin = ThisWorkbook.Path & "\" & ThisWorkbook.Name
        Cells(1, 2) = Format(FileDateTime(chemin), "dd/mm/yyyy")
    End Sub
    @+

  5. #5
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    j'ai quand même un souci avec le Format...

    Format(FileDateTime(chemin), "dd/mm/yyyy") me retourne 01/10/2008
    alors que
    Format(FileDateTime(chemin), "dd mm yyyy") me retourne 10 01 2008
    et moi j'aimerais avoir 10/01/2008 !


  6. #6
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonjour,

    Extrait de l’aide (E-07), Fonction Format, Exemple
    Pour ce qui concerne le séparateur de date (/), d'heure ( et le littéral AM/PM, la sortie formatée réellement affichée par votre système dépend des paramètres régionaux avec lesquels le code s'exécute. Lorsque les heures et les dates sont affichées dans l'environnement de développement, ce sont les formats heure et date raccourcis des paramètres régionaux qui sont utilisés. Lorsqu'ils s'affichent par exécution du code, les formats heure et date raccourcis utilisés sont ceux des paramètres système, qui peuvent différer des paramètres régionaux.

    Utilise plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumberFormat = "dd/mm/yyyy"
    Cela t’évitera de mauvaises surprises.

    Cordialement,

  7. #7
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    merci pour ce complément d'infos...
    cependant, je ne vois pas comment utiliser NumberFormat !

  8. #8
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Re,

    Voici un exemple :

    Au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Cells(1, 2) = Format(MaVariableDate, "dd/mm/yyyy")
    Utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Cells(1, 2).NumberFormat = "dd/mm/yyyy"
        Cells(1, 2) = MaVariableDate
    Cordialement,

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour Bigalo et Tchupacabra,

    Je viens d'essayer :

    Cells(1, 2).NumberFormat = "dd/mm/yyyy"
    Cells(1, 2) = MaVariableDate
    Et j'ai toujours l'inversion entre le jour et le mois tant que le jour est <= 12.

    Peut-être que cela fonctionnera chez Tchupacabra ?

    Sinon, ce n'est peut-être pas la solution la plus élégante mais celle-ci a fonctionné parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
    chemin = ThisWorkbook.Path & "\" & ThisWorkbook.Name
    datsav = Format(FileDateTime(chemin), "dd/mm/yyyy")
    j = Left(datsav, 2)
    m = Mid(datsav, 4, 2)
    a = Right(datsav, 4)
    datsav = DateSerial(a, m, j)
    Cells(1, 2) = datsav
    End sub
    Amicalement.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour


    voici la solution que je retiendrai :

    Private Sub Workbook_Open()
    chemin = ThisWorkbook.Path & "\" & ThisWorkbook.Name
    Cells(1, 2) = Format(FileDateTime(chemin), "dd/mm/yyyy")
    End Sub

    je ne vois pas l'interet d'utiliser cette fonction puisque dans ton cas cela va te renvoyer systematiquement la date et l'heure du jour d'ouverture du fichier (thisworkbook = tu fais la recherche sur le classeur contenant la macro)...


    Il est préférable d'utiliser la solution proposée par Abed_H


    bon apres midi
    michel

  11. #11
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Citation Envoyé par jacques_jean Voir le message
    Peut-être que cela fonctionnera chez Tchupacabra ?
    effectivement cela fonctionne chez moi...

    malheureusement SilkyRoad a raison... FileDateTime() ne renvoie pas la date de modification comme indiqué dans l'aide...
    Renvoie une valeur de type Variant (Date) indiquant la date et l'heure de création ou de dernière modification d'un fichier.


    Citation Envoyé par SilkyRoad Voir le message
    Il est préférable d'utiliser la solution proposée par Abed_H
    effectivement, je croyais que ça renvoyer seulement l'heure...


    Merci à tous !!!
    Problème résolu.

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

Discussions similaires

  1. recuperation de la date de modification dans access
    Par cyberm41 dans le forum Access
    Réponses: 5
    Dernier message: 07/10/2005, 16h08
  2. Date de modification d'un champs
    Par Samish dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2005, 12h34
  3. [MFC] Recuperation de la date de modification
    Par lastcheper dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2005, 17h33
  4. Réponses: 20
    Dernier message: 17/03/2005, 15h26
  5. [langage] Date de modification d'un fichier
    Par Cyspak dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2003, 15h49

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