Timi493
Messages postés6Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention29 avril 2011
-
27 févr. 2009 à 10:26
Timi493
Messages postés6Date d'inscriptionmercredi 29 octobre 2008StatutMembreDernière intervention29 avril 2011
-
27 févr. 2009 à 16:11
Bonjour,
Sur un disque j'ai un ensemble de répertoires dans lesquels se trouvent des fichiers excel.
Il sont tous construis sur la même base car issus d'une matrice xlt.
J'ai une macro qui me permet de choisir parmi ces répertoires et de lister les fichiers Excel présent dans le répertoire ciblé.
La macro affiche dans la première colonne les noms des fichiers.
J'ai besoin de récupérer la valeur (1 ou vide 0) de la feuille 5 et cellule M15 pour chacun des fichier qui sont listés et de l'afficher dans la colonne d'a côté.
J'arrive à afficher le type de fichier, le poids le nom des fichiers concernés mais pas cette valeur.
J'arrive à afficher la valeur M15 de mon fichier avec :
ActiveCell.Offset(-1, 2) = "=Feuil5!M15"
Ou par
ActiveCell.Offset(-1, 3) = Worksheets("Feuil5").Range("M15").Value
Mais pas de ceux qui son listés dans l'offset
Je ne suis pas un expert en vba et il faut sans doute déclarer ou faire une variable ou fonction mais toute mes tentatives ont plantés.
Voici le code utilisé.
Sub EcritureDonnées(ByVal f As Variant, ByRef niveau As Integer)
Dim FichiersPrésent As Boolean
PremièreLigne = ActiveCell.Row
Set fc = f.Files
FichiersPrésent = False
For Each f1 In fc
ActiveCell = f1.Name 'affiche nom
On Error GoTo Boucle
Boucle:
ActiveCell.Offset(1, 0).Activate ' affiche la liste des fichiers du repertoire choisi
ActiveCell.Offset(-1, 1) = f1.Type 'affiche le type de fichier
ActiveCell.Offset(-1, 4) = f1.Size / 1024 'affiche volume en Ko
ActiveCell.Offset(-1, 5) = f1.Size 'affiche volume en octets
ActiveCell.Offset(-1, 6).Value = f1.Size 'affiche aussi le volume en octets
FichiersPrésent = True
Next
Columns("A:B").EntireColumn.AutoFit
Range("A1").Select
End Sub
Je veux bien une petite aide pour ce problème car mes recherches n'aboutissent à rien.
Merci à vous.
Timi493
A voir également:
Récupérer la valeur d'une cellule excel d'une liste de fichiers
r1r2
Messages postés22Date d'inscriptionmardi 23 janvier 2007StatutMembreDernière intervention31 mars 2010 27 févr. 2009 à 15:05
Bonjour,
Je suppose que la variable f contient un objet Folder.
Le problème est qu'il faut faire référence à la cellule M15 de la Feuil5 du fichier Excel f1 et pas du classeur actif.
Cela crée une référence externe vers chacun des fichiers Excel du répertoire.
Pour supprimer ces références et mettre la valeur, il faut rajouter un copier/coller valeurs sur la colonne concernée après la boucle For Each ... Next
Par ailleurs, attention à l'utilisation d'Activecell, car on n'est pas toujours sûr que la cellule active est bien celle que l'on croit...