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 :

Besoin d'une macro qui va rechercher la date de modification d'un fichier


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Besoin d'une macro qui va rechercher la date de modification d'un fichier
    Bonjour à tous,

    Je suis novice dans l'utilisation des macros sous Excel.

    Ce sujet a surement été traité mais je n'ai pas réussi à retrouver une solution existante.

    Je vous explique ma problématique.

    J'ai un fichier Excel avec une base de données comprenant environ 5000 lignes.
    Chaque personne inscrite dans cette base de données détient une photo. Le chemin d'accès de cette photo se trouve dans la colonne "CH". J'aurais besoin dans la colonne "CK" d'une macro qui va me rechercher l'information de la date de modification du fichier dont le chemin d'accès se trouve dans la colonne "CH".

    La macro doit aller chercher les informations sur toutes les lignes.

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Si c'est la date de la dernière sauvegarde, tu peux essayer ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("CK" & I) = FileDateTime("Chemin et nom du fichier")
    Si c'est d'inscrire la date au moment où une personne fait la sauvegarde, il faudra retracer le nom de l'usager dans la colonne et inscrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("CK" & I) = Date  ' ou = Now si tu veux l'heure
    NB: "I" étant la variable de la ligne où inscrire la donnée.
    MPi²

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci cela m'a permis d'avancer... mais malheureusement, le programme s'arrête lorsque le lien n'existe pas...et j'ai besoin qu'il m'inscrive juste "Erreur" et qu'il passe au suivant. Voilà mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Bouton108_clic()
        Dim I As Long
        For I = 2 To 5000
            Range("CK" & I) = FileDateTime(Range("CE" & I))
            If Dir(Range("CE" & I).Value, vbNormal) = "" Then
            Range("CK" & I).Value = "Erreur"
                End If
        Next I
    End Sub
    Merci pour vos lumières...

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Essaie comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Bouton108_clic()
     Dim I As Long
     For I = 2 To 5000
        If Dir(Range("CE" & I))="" then
           Range("CK" & I).Value = "Erreur"
        Else
           Range("CK" & I) = FileDateTime(Range("CE" & I))
        End If
     Next I
     End Sub
    PS: quand tu mets du code, sélectionne-le et utilise le bouton # pour formater le code
    MPi²

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci.

    Mais cela n'a pas marché...le code bloque dès qu'une ligne est vide. Pas vraiment compris pourquoi....mais j'ai contourné le problème avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Bouton108_clic()
    Dim I As Long
    For I = 2 To 5000
    File = Dir(Range("CH" & I).Value)
        If Len(File) > 0 Then
            Range("CK" & I) = Format(FileDateTime(Range("CE" & I)), "DD.MM.YYYY")
        End If
    Next I
    End Sub
    Par contre, il me note une erreur à la fin : Erreur d'exécution '13': Incompatibilité de type

    Une idée ? Dans tous les cas, un grand merci.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Où y a-t-il une ligne vide ? dans ton classeur ?
    Si oui, vérifie si la cellule est non vide pour continuer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Range("CH" & I) <> "" Then
    '...
    Sur quelle ligne survient l'erreur ?

    Autre chose, évite des noms comme File qui pourraient être réservés par le système...
    MPi²

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/10/2011, 13h34
  2. Réponses: 4
    Dernier message: 26/05/2008, 09h20
  3. [VBA-E] une macro qui enregistre mon fichier Excel
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/03/2007, 11h47
  4. Réaliser une macro qui enregistre le résultat d'une requête
    Par boulette85 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 22/02/2007, 18h36
  5. besoin d'une API qui exploite les fichier Word
    Par fafa624 dans le forum Documents
    Réponses: 1
    Dernier message: 16/12/2006, 17h01

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