Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

identification Fichier .xls

  • Initiateur de la discussion Initiateur de la discussion munity
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

munity

Guest
bonjour à toutes et tous

une ame charitable pourrait il m'aider sur ce sujet,
j'ai un certain nombre de fichier xls à importer quotidiennement
j'ai donc la macro qui me liste les fichiers présent sur le C pour ensuite me les afficher dans un listbox
la personne n'a plus qu'a choisir les fichiers qui l'intéresse pour les importer
seulement je souhaiterai seulement affichir les fichiers Xl
j'ai essayé avec cette instructions mais ca plante

If Not Fichier.FileFormat = xl And Cells(Ligne, 2) <> "" Then

pourrais t on me donner l'instruction pour ne lister que les fichiers XLS
a tout hasard je mets l'instruction pour lister les fichiers existants sur le c pour une date donnée

Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
' Boucle sur les fichiers
Sheets("test").Select
For Each Fichier In Dossier.Files

If Fichier.datecreated >= Date Then
While Cells(Ligne, 1) <> "": Ligne = Ligne + 1: Wend
Cells(Ligne, 1) = Fichier.Name
Cells(Ligne, 2) = Fichier.datecreated
End If
If Not Fichier.FileFormat = xl And Cells(Ligne, 2) <> "" Then
'If Right(Cells(Ligne, 1).Value, 4) <> ".xls" And Cells(Ligne, 2) <> "" Then
Rows(Ligne).Select: Selection.Delete Shift:=xlUp
End If
Next

merci d'avance

munity
 
Re : identification Fichier .xls

Bonsoir Munity,

si j ai bien compris ton problème, regarde le code ci dessous si ca peut t'aider :

Code:
Sub RechFichier()
Dim MonRepertoire As String

Set fs = Application.FileSearch
MonRepertoire = "D:\Donnees\"
With fs
    .LookIn = MonRepertoire
    .FileName = "*.xl*"
    If .Execute > 0 Then
        MsgBox "Ce dossier contient " & .FoundFiles.Count & _
        " fichier(s) répondant aux critères."
        For i = 1 To .FoundFiles.Count
            ActiveCell.Value = .FoundFiles(i)
            ActiveCell.Offset(1, 0).Select
        Next i
    Else
        MsgBox "Aucun fichier n'a été trouvé."
    End If
End With

End Sub

Cela nécessitera sans doute des adaptations car il lit dans un répertoire, a voir si l on peut inclure les sous dossiers.

Bonne soirée
@+
 
Re : identification Fichier .xls

salut pierrot

je teste et te tiens au courant
mais je pense que cela devrait convenir vu que je n'ai pas de sous dossier
en fait un certain nombre de fichier est crée à J
dans la matinée une personne vient consulter cette liste et charge ceux qui l'intéresse pour une vérification de concordance

merci de ton aide

munity
 
Re : identification Fichier .xls

pierrot merci

cela fonctionne
juste une question comment faire pour ne voir que le nom du fichier sans le répertoire
test.xls plutot que C:\test.xls

je pourrais ajouter une variable me tronquant les 3 premiers caractères mais si il existe une manière plus propres je suis preneur

merci du temps que tu me consacres

munity
 
Re : identification Fichier .xls

pierrot

concernant ta deuxième réponse
je ne récupére que l'extension
normal puisque déclarée en variable

y a t il une autre instruction ?

munity
 
Re : identification Fichier .xls

voila

n'ayant pas de réponse
je suppose que tu n'es pas assez intelligent🙂 🙂 🙂
j'ai cherché et j'ai trouvé (isolation du nom de fichier sans le répertoire)

par contre pour la date de création de ce fichier je suis toujours preneur
😱

Sub RechFichier()
Dim ligne
Set fs = Application.FileSearch
With fs
.LookIn = "c:\"
.FileType = msoFileTypeExcelWorkbooks
.Filename = "*.xl*"
Sheets("Liste Fichier ADID").Select
ligne = 2
If .Execute > 0 Then
For I = 1 To .FoundFiles.Count
While Cells(ligne, 1) <> "": ligne = ligne + 1: Wend
Cells(ligne, 10) = .FoundFiles(I)
Range("k" + Format(ligne)) = "=MID(RC[-1],4,SEARCH(""xls"",RC[-1],1))"
Cells(ligne, 1) = Range("k" + Format(ligne)).Value
'Cells(ligne, 2) = .FoundFiles.Datecreated
'ActiveCell.Value = .FoundFiles(I)
'ActiveCell.Offset(1, 0).Select
Next I
Else
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub

munity
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
899
Réponses
8
Affichages
774
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
447
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…