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 :

Macro itérative ramenant la taille d'un fichier à partir d'un chemin [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Par défaut Macro itérative ramenant la taille d'un fichier à partir d'un chemin
    Bonjour à tous, je souhaiterai créer une macro qui à partir d'une cellule contenant le chemin souhaité (Col n-1) testerait la présence d'un fichier et ramènerait sa taille en Ko ou 0. Je ne sais pas trop comment m'y prendre. j'ai bien essayé quelques modifs sur des macros existantes, mais sans résultats probants. Quelqu'un aurait-il une piste?
    par avance merci
    Jimmy

  2. #2
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour jimmy17;

    Pour connaître la longueur d'un fichier, il y a une fonction qui s'appelle FileLen()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    f = Cells(1, 1).Value
    longueur = FileLen(f)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Par défaut
    [quote=Jimmy1;7677010]Docmarti;

    Je suis novice, et j'ai essayé le code suivant sans effet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Longueur()
        Dim DernLigne As Long
        DernLigne = Range("K1048576").End(xlUp).Row
        Dim i As Integer
        Dim Taille As String
            For i = 3 To DernLigne
                F = Cells(i, -1).Value
                Taille = FileLen(F & "\Front.jpg")
                TextToDisplay = Taille
                ActiveCell.Offset(1, 0).Select
            Next i
    End Sub
    Pourrais-tu y jeter un coup d'oeil STP

    Merci

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Cette ligne ne peut pas être valide car le -1 que tu as mis représente la colonne. Et il n'y a pas de colonne -1.

    Si c'est la colonne "A", il faut mettre 1 :

    Pour la Colonne "B", ce serait 2 :


  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 14
    Par défaut
    Merci une fois corrigé, VBA bute sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Taille = FileLen(F & "\Front.jpg")
    Erreur 53 fichier non existant.
    En effet, si le fichier n'existe pas dans le chemin donné, j'aimerai afficher 0.

    Je ne suis pas sur de la commande TextToDisplay non plus car mes cellules résultats n'affichent rien

    Merci à toi

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour jimmy17;

    La commande On Error Resume Next permet de détecter les erreurs et de les gérer.

    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
    Sub Longueur()
        Dim DernLigne As Long
        DernLigne = Range("K" & Rows.Count).End(xlUp).Row
        Dim i As Integer
        Dim Taille As String
            For i = 3 To DernLigne
                TextToDisplay = ""
     
                F = Cells(i, "K").Value
                Err.Clear
                On Error Resume Next
                Taille = FileLen(F)
     
                If Err <> 0 Then
                 TextToDisplay = 0
                Else
                 TextToDisplay = Taille
                End If
                Err.Clear
     
                Cells(i, "K").Offset(0, 1) = TextToDisplay
            Next i
    End Sub

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

Discussions similaires

  1. [WD14] Récupération de la taille d'un fichier à partir d'une URL
    Par link256 dans le forum WinDev
    Réponses: 4
    Dernier message: 28/01/2010, 16h47
  2. Réponses: 1
    Dernier message: 03/02/2009, 15h44
  3. Récupérer le nom d'un fichier à partir de son chemin
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 11h38
  4. obtenir la taille d'un fichier à partir de son URL
    Par djanos dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 23/02/2007, 00h22
  5. Réponses: 1
    Dernier message: 18/02/2007, 19h33

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