Macro excel et propriétés fichier

boultagga

XLDnaute Nouveau
Bonjour tous le monde

J'ai beaucoup utilisé ce forum pour résoudre mes problèmes, mais la je sèche, j'ai cherché sur pas mal de fofo et j'ai rien trouvé.J'ai donc passé le cap et me voila membre!!!!

Je vous explique m'a demande, c'est un gros défit mais je pense que pour moi:

Je cherche a récupérer les propriétés suivantes ( Nom du fichier, le type, la taille, la date de création et de modification) le tout inscrit dans une table excel. Il s'agit de fichier CAO, pro/e pour être exact.

J'ai déjà trouver le moyen de faire choisir le fichier à l'utilisateur par une boite de dialogue:

Sub attributs()

Dim chemin As String
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.Filters.Clear

If .Show = -1 Then
chemin = .SelectedItems(1) ' place le chemin du fichier dansla variable "chemin"
End If

End With

End Sub

Sachant que je suis une bille en VB, j'ai essayé getattr mais je n'ai pas réussi à la faire fonctionner.

Si quelqu'un peut m'aider à réaliser cette macro, ce serai très sympatique!!!!!
 
G

Guest

Guest
Re : Macro excel et propriétés fichier

bonjour boultaga et bienvenue sur le forum,

Cadeau de bienvenue,
mettre dans un module vide:
Code:
Option Explicit
Type FileProperties
    Nom As String
    Chemin As String
    DateCreation As Date
    DateDernierAcces As Date
    DateModification As Date
    Taille As Long
End Type
Function GetProperties(strFileName As String) As FileProperties
    Dim oFs, oFile
    Dim props As FileProperties
    Set oFs = CreateObject("Scripting.FileSystemObject")
    If oFs.FileExists(strFileName) Then
        Set oFile = oFs.GetFile(strFileName)
        With props
            .Nom = oFile.Name
            .Chemin = oFile.Path
            .DateCreation = oFile.DateCreated
            .DateDernierAcces = oFile.DateLastAccessed
            .DateModification = oFile.DateLastModified
            .Taille = oFile.Size
        End With
    Else
        Exit Function
    End If
  GetProperties = props
End Function

Utilisation:

Dim PropFichier as FileProperties
PropFichier=GetProperties(Chemin_Et_Nomcomplet_Du_Fichier)

A+
 

boultagga

XLDnaute Nouveau
Re : Macro excel et propriétés fichier

Bonsoir

Merci de ta réponse hyper réactive Hasco!Mais je vais avoir encore besoin d'aide pour mettre ça au point!!!

Je n'y connait vraiment pas grand chose et je pense qui va falloir que je m'y mette sérieusement :eek:

Je l'ai placé dans un module vide, mais je n'arrive pas à le faire fonctionner

J'aimerai voir apparaitre une boite de dialogue par un bouton dans une feuille excel, choisir le fichier et enregistre le tous dans un tableau!

j'arrive a faire la première partie mais pas la liaison avec ta partie!!

Une petite explication s'impose;)

Merci d'avance
 
G

Guest

Guest
Re : Macro excel et propriétés fichier

bonjour Le forum, boutlaga,

Joins un fichier exemple, avec ta macro et ce que je t'ai donné, en indiquant dans quel tableau tu veux mettre les propriétés du fichier.

A+
 

boultagga

XLDnaute Nouveau
Re : Macro excel et propriétés fichier

Bonjour

Voici le type de données que je souhaite obtenir, j'espère que j'ai bien compris ta demande!je joins le fichier avec le tableau qui comporte plusieurs ligne pour choisir plusieurs fichiers. Comme je suis nul, je penser mettre plusieurs boutons et éviter l'itération:D(fichier 1,2...).

Merci et si c'est pas trop de demander quelques explications pour finir moins bête:p
 

Pièces jointes

  • BL.xlsm
    19.5 KB · Affichages: 86
  • BL.xlsm
    19.5 KB · Affichages: 93
  • BL.xlsm
    19.5 KB · Affichages: 94

kiki29

XLDnaute Barbatruc
Re : Macro excel et propriétés fichier

Salut, puisqu'Hasco semble momentanément absent
Code:
Type FileProperties
    ----
    Typ As String
End Type

Function GetProperties(strFileName As String) As FileProperties
	.....
        With props
            .Nom = oFile.Name
	    '............
            .Typ = oFile.Type
        End With
	......
    GetProperties = props
End Function

Sub Attributs()
.....
        If .Show = -1 Then
            Feuil1.Range("D11") = GetProperties(.SelectedItems(1)).Nom
            Feuil1.Range("E11") = GetProperties(.SelectedItems(1)).Typ
            ' etc
        End If
.....
End Sub

A titre de curisosité voir Ce lien n'existe plus
 
Dernière édition:

boultagga

XLDnaute Nouveau
Re : Macro excel et propriétés fichier

Bonjour

J'ai tout combiné mais j'obtiens une erreur.Voici le fichier, voir si j'ai fait une erreur

merci
 

Pièces jointes

  • BL.xlsm
    17.7 KB · Affichages: 80
  • BL.xlsm
    17.7 KB · Affichages: 80
  • BL.xlsm
    17.7 KB · Affichages: 83
Dernière édition:
G

Guest

Guest
Re : Macro excel et propriétés fichier

bonjour,
Bonjour Kiki29,

Voici ton fichier dans lequel j'ai fait deux modifications
1 - Inclusion d'une variable 'Props' pour n'avoir à appeller la fonction getProperties qu'une seule fois par fichier.

2 - Inclusion d'une fonction trouvé sur Club des développeurs VB6 : FAQ Visual Basic qui retourne la taille du fichier en unité(ko, mo, go...) suivant son poids.

Si tu reste sur le forum excel général, joint tes fichier au format .xls pour que ceux qui n'ont pas 2007 puissent en profiter sinon va sur le sous-forum 2007.

A+
 

boultagga

XLDnaute Nouveau
Re : Macro excel et propriétés fichier

Hello

Merci pour tout, ça le fait, je sais pas pourquoi il met une erreur en arrière plan de word, mais si c'est que ça c'est pas grave!!!

Je vous salut pour votre boulot et vos conseil

Et maintenant c'est a moi de m'y mettre
 

Discussions similaires

Réponses
1
Affichages
269
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 733
Messages
2 082 008
Membres
101 864
dernier inscrit
elrecruiter