Renvoyer la taille d'un fichier sur excel
Ferdaous
-
Ferdaous -
Ferdaous -
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,
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:
- Renvoyer la taille d'un fichier sur excel
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Forcer la suppression d'un fichier - Guide
- Fichier rar - Guide
18 réponses
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
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
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)
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)
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)
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
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 ?
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
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
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
je te rappelle que je dois faire ça sur excel, alors ou est ce que je vais placer ce que tu viens d'écrire?
Bonjour,
Pour créer des fonctions perso, un ptit tuto ici : https://silkyroad.developpez.com/vba/fonctions/
la fonction :
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
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:
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"
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"
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?
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?
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...............
je crois que ça va marcher maintenant
merci infiniment pour ton aide
merci encore une fois...............
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é!
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é!
voila la fonction avec un nom différent du chemoin
par exemple texte visible "blabla"
dirigeant vers C:\mes documents
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