Renvoyer la taille d'un fichier sur excel

Fermé
Ferdaous - 24 juil. 2009 à 12:44
 Ferdaous - 27 juil. 2009 à 17:50
Bonjour,
Je voudrais savoir si c'est possible de créer sur une feuille excel deux colonnes: la 1ère contient un lien vers un fichier et la 2ème affiche la taille de fichier. la taille doit être automatiquement modifiée dès qu'on change de fichier.
merci d'avance pour votre aide,
A voir également:

18 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 13:28
bonjour

qu'il y a t'il dans ce que tu appelles "lien"? hypertexte, nom complet , lien avec une cellule d'un autre fichier

pour de te donner le renseignement, il faudrait le nom complet (chemin\nomfichier.extension
0
la 1ère colonne contient des cellules avec de simples noms que je relie par un lien hypertexte à un fichier stocké dans le disque dur
dans la 2ème colonne je voudrais voir la taille de ce fichier (comme pour les pages web où on propose de télécharger des docs, on te montre le nom de ce fichier avec sa taille devant)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 15:37
Je regarde ça tout a l'heure: le tour de france passe pas loin de chez moi (aubenas) et j'aimerais voir ma baraque et mon village vus de l'hélico ( la course, m'en f.... un peu)

pour apprendre les macros tu as aussi ce site super-sympa et pédagogique:
www.info-3000.com
ce que tu demandes ici (taille fichier) demandes du langage VBA (niveau débutant averti)
0
rebonjour....
Alors c fini le tour de france ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 17:02
hé oui, c'est fini mais j'ai pas vu my home mais le village d'à coté (pistonnés,va!) :-)...

Dans ta cellule il faudrait le nom complet du fichier par exemple:
D:\documents\excel\essai\excel_word\jolis_boutons.xls
C'est des classeurs Excel ?
0
c des repertoires qui contiennent des fichiers excel, word,pdf...et moi je voudrais voir apparaître automatiquement la taille de ces répertoires dans les cellules de la colonne en face
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 17:17
c'est des répertoires ? bon j'allais te copier une fonction personnalisée
donc je reccommence

pour le fun la fonction fichier ci dessous

Function lire_taille(cell_hyper As Range)
lig = cell_hyper.Row
 fich = cell_hyper
    Workbooks.Open Filename:=fich
    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set fichier = objFSO.GetFile(fich)
        lire_taille = "taille: " & Int(fichier.Size / 1024) & " Ko"
        ActiveWorkbook.Close
    Set objFSO = Nothing
End Function
0
je te rappelle que je dois faire ça sur excel, alors ou est ce que je vais placer ce que tu viens d'écrire?
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
24 juil. 2009 à 17:41
Bonjour,
Pour créer des fonctions perso, un ptit tuto ici : https://silkyroad.developpez.com/vba/fonctions/
la fonction :
Function filesize(chemin As String)

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(chemin) Then
    Set fic = fso.GetFile(chemin)
    If (fic.Size / 1024) < 1500 Then
        filesize = Round((fic.Size / 1024), 0) & " ko"
    Else: filesize = Round(((fic.Size / 1024) / 1024), 2) & " Mo"
    End If
    
Else: filesize = "Fichier non trouvé"
End If

End Function
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 17:45
J'arrive!!!
le titre de ton message parlait bien de fichier pas de dossier, j'ai recommencé et je ne suispas une machine à pondre des macros!

dans ta liste de liens hyper le chemin doit apparaitre par ex:
D:\documents\excel\essai

voici la fonction:
Function lire_tailledossier(cell_hyper As Range)
    Dossier = cell_hyper
    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set repertoire = objFSO.GetFolder(Dossier)
        lire_tailledossier = "taille: " & Int(repertoire.Size / 1024) & " Ko"
    Set objFSO = Nothing
End Function


comment installer
1/dans outil-macro-sécurité, tu mets à "moyen" OK

2/tu vas dans VBA par Alt+F11
insertion-module
tu copies-colles le patois VBA ci dessus

3/tu te met dans la cellule où tu veux indiquer la taille
insertion-fonction-fonction personnalisée
tu sélectionnes lire_tailledossie
et tu cliques dans la cellule-lien

si tu veux en Mo
lire_tailledossier = "taille: " & Int(repertoire.Size / (1024*1024) & " Mo"
0
J'ai placé ton script dans visual basic editor et j'ai vu apparaitre la fonction liretaille dans la liste des fonctions excel de mon classeur. donc c bon.
J'ai la seule contrainte que la première colonne ne doit pas contenir les adresses saisies texto mais des noms liés aux fichiers par un lien hypertexte(c'est dans un souci d'assurer la portabilité de tout le bloc)
que dois-je modifier dans ton script?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 17:48
MAIS C'EST DES FICHIERS OU DES DOSSIERS ?
je vais pas recommencer N fois !
0
au fait, je t'ai envoyé mon dernier msg sans avoir lu les tiens
je crois que ça va marcher maintenant
merci infiniment pour ton aide
merci encore une fois...............
0
j'ai toujours un petit problème, il faut que j'écrive littéralement l'adresse quand je fais un lien hypertexte ça ne marche pas . et moi je crains qu'en résolvant le pb d'actualisation automatique de la taille des dossiers je crée un autre pb qu'est celui d'actualisation des adresses
exple:
un fichier qui a pour adresse : c:/mesdocuments/dossier1/dossier2 a pour taille X Octets
si je change l'enplacement de tout le bloc par expl : c:/bureau/dossier1/dossier2 aura pour taille fichier non trouvé!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
24 juil. 2009 à 18:08
voila la fonction avec un nom différent du chemoin
par exemple texte visible "blabla"
dirigeant vers C:\mes documents

Function lire_tailledossier(cell_hyper As Range)
    dossier = cell_hyper.Hyperlinks(1).Address
    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set repertoire = objFSO.GetFolder(dossier)
        lire_tailledossier = "taille: " & Int(repertoire.Size / 1024) & " Ko"
    Set objFSO = Nothing
End Function
0
rebonjour,
j'a i un énorme problème cencernant le mm sujet!!!
au fait je n'arrive pas à garder à jour la feuille excel sur laquelle je travaille . une fois je ferme la feuille ma feuille se remplie de #VALEUR!
C'est dû a quoi?
Merci
0
merci infinimennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntttttttttttttttttttttttt.
ça a marché :)
0
Rebonjour,
j'a i un énorme problème cencernant le mm sujet!!!
au fait je n'arrive pas à garder à jour la feuille excel sur laquelle je travaille . une fois je ferme la feuille ma feuille se remplie de #VALEUR!
C'est dû a quoi?
Merci
0
re
eh oh s'il vous plait est ce que qlq'1 d'entre vous pourra m'aider?
merci de faire attention à mon msg
0