[EXCEL 2003] : Récupérer des données

JulienB

XLDnaute Junior
Bonjour Le forum.

J'ai créer X fichiers identique Excel que des utilisateurs me renvois tout les jours dans un seul repertoire.
Je dois faire un fichier recapitulatif qui reprend les informations de ces X fichiers.

Problématique 1 :

- Il faut scanner les fichiers du répertoire
- Récuperer les noms des fichiers
- Les inscrire en Colonne A du fichier de recup'

Puis en colonne B => XX, récuperer les informations des chaques fichiers.

En vous remerciant de votre aide !

JulienB
 

CBernardT

XLDnaute Barbatruc
Re : [EXCEL 2003] : Récupérer des données

Bonjour JulienB et le forum,

Un fichier qui doit correspondre à ton besoin.

La valeur à rechercher et à placer dans la colonne B est à spécifier.

Cordialement

Bernard
 

Pièces jointes

  • FichierEtDonneesDansRepertoire.xls
    40.5 KB · Affichages: 49

CBernardT

XLDnaute Barbatruc
Re : [EXCEL 2003] : Récupérer des données

Re,

quelques modifications, en particulier, l'ouverture des fichiers, récupération de la valeur souhaitée, fermeture du fichier, report de la valeur dans la feuille synthèse.

Sub ListeFichiers()
Dim Dossier As Object, Fichier As Object
Dim Chemin As String, I As Long, Lig As Long, Tablo

Application.ScreenUpdating = False
With Sheets("LISTING")
.Range("A2:B10000").ClearContents
'Chemin du dossier à analyser (à adapter au besoin)
Chemin = ThisWorkbook.Path
'Attribue une référence d'objet à la variable
I = 1
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
If Fichier.Name <> ThisWorkbook.Name Then
If Right(Fichier.Name, 4) = ".xls" Then
I = I + 1
.Cells(I, 1) = Fichier.Name
Workbooks.Open Fichier ' Ouvre le fichier
With ActiveWorkbook
Tablo = Sheets(1).Range("A1").Value ' Récupère la valeur souhaitée
Application.DisplayAlerts = False
.Close ' Referme le fichier
Application.DisplayAlerts = True
End With
.Cells(I, 2) = Tablo ' Reporte de la valeur dans la colonne B
End If
End If
Next
End With
End Sub

Cordialement

Bernard
 

JulienB

XLDnaute Junior
Re : [EXCEL 2003] : Récupérer des données

j'avance, j'avance

Bonsoir le forum, Bernard.

Toujours dans mon fichier de recup je dois integrer des tableaux sachant que :

- il y a un tableau par fichier remplis par les utilisateurs.
- Que je connais le nombre de colonne mais pas le nombre de ligne
- En colonne A du fichier de recup je dois voir egalement le nom du fichier.
donc je dois avoir Colonne A XXXX.xls puis en colonne B le tableau avec mes X lignes puis de nouveau Colonne A xxxx.xls + 1

J'arrive a recuperer une ligne par fichier actuellement !!

Code

Code:
Sub ListeFichiers1()
Dim Dossier As Object, Fichier As Object
Dim Chemin As String, I As Long, Lig As Long, Tablo, Tablo1

Application.ScreenUpdating = False
With Sheets("Feuil2")
.Range("A4:B10000").ClearContents
'Chemin du dossier à analyser (à adapter au besoin)
Chemin = "\\CDPA500\PSI$\pandémie\"
'Attribue une référence d'objet à la variable
I = 1
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
If Fichier.Name <> ThisWorkbook.Name Then
If Right(Fichier.Name, 4) = ".xls" Then
I = I + 1
.Cells(I, 1) = Fichier.Name
Sheets("Feuil3").Cells(I, 1) = Fichier.Name
Workbooks.Open Fichier ' Ouvre le fichier
With ActiveWorkbook
Tablo = Sheets("Processus").Range("F3").Value ' Récupère la valeur souhaitée
Tablo1 = Sheets("Processus").Range("A11:F28").Value ' Récupère la valeur souhaitée
Application.DisplayAlerts = False
.Close ' Referme le fichier
Application.DisplayAlerts = True
End With
.Cells(I, 2) = Tablo ' Reporte de la valeur dans la colonne B
Sheets("Feuil3").Cells(I, 2) = Tablo1 ' Reporte de la valeur dans la colonne B
End If
End If
Next
End With
End Sub

Merci de votre aide !
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 395
Membres
102 882
dernier inscrit
Sultan94