B
BS
Guest
Bonjour le forum,
Attention, je m'explique , et surtout je tente d'être claire )
La démarche globale :
- je vais réunir des fichiers excel dans un seul dossier. Ces fichiers comportent une ligne de données. (je veux récupérer toute la ligne 3)
- J'aimerai recopier chacune de ces lignes 3 dans un fichier central, les unes après les autres sans avoir à ouvrir chacun des fichiers de départ.
- De plus, j'aimerai que l'on copie le nom des fichiers dans la première colonne de ce fichier central. En fait, pour être plus claire, en mettant mes fichiers dans le Dossier, je vais les renommer en S1, S2, S3 , etc...et j'aimerai donc qu'en recopiant les lignes, la première colonne du fichier central soit S1,S2, S3 ect...
Après une petite reflexion de ma part, j'ai décomposé le problème comme ceci :
1. Chercher tous les fichiers contenus dans le dossier prévu. Tous ces fichiers commencent par S
2. Copier la ligne 3 de chacun des fichier
3. voir où est la première ligne de disponible dans le fichier central
4. Coller la ligne 3 dans la première ligne disponible du fichier central
Voilà le problème, j'aimerai donc savoir si déjà mon analyse est bonne et ensuite , un sacré coup de main car je ne m'en sors pas toute seule.
Pour l'instant, voilà ce que j'ai fait :
Pour le point 1 :
Sub Lire_repertoire
Dim i As Integer
Dim Fichier As String
Dim Nom As String
'lance une recherche de tous les fichiers commençant par "S" dans le repertoire D:\Datas\où sont stockés les fichiers bruts
With Application.Filesearch
.NewSearch:
'regarde dans le dossier désigné
.LookIn ="D:\Datas\":
'ne regarde pas dans les sous dossiers
.SearchSubFolders = False:
'recherche tous les fichiers commençant par "s"
.Filename = "s*"
'regarde les formes approchées du nom
.MatchallWordForms = True
'recherche des fichiers excel
.FileType = msoFileTypeExcelWorkbooks
If .Execute(msoSortOrderDescending) > 0 then
For i = 1 to .Foundfiles.count
Et là je bloque ....
Allo ?? vous êtes toujours là ?? pas endormis ?? ))
Merci d'avance de votre aide !
BS.
Attention, je m'explique , et surtout je tente d'être claire
La démarche globale :
- je vais réunir des fichiers excel dans un seul dossier. Ces fichiers comportent une ligne de données. (je veux récupérer toute la ligne 3)
- J'aimerai recopier chacune de ces lignes 3 dans un fichier central, les unes après les autres sans avoir à ouvrir chacun des fichiers de départ.
- De plus, j'aimerai que l'on copie le nom des fichiers dans la première colonne de ce fichier central. En fait, pour être plus claire, en mettant mes fichiers dans le Dossier, je vais les renommer en S1, S2, S3 , etc...et j'aimerai donc qu'en recopiant les lignes, la première colonne du fichier central soit S1,S2, S3 ect...
Après une petite reflexion de ma part, j'ai décomposé le problème comme ceci :
1. Chercher tous les fichiers contenus dans le dossier prévu. Tous ces fichiers commencent par S
2. Copier la ligne 3 de chacun des fichier
3. voir où est la première ligne de disponible dans le fichier central
4. Coller la ligne 3 dans la première ligne disponible du fichier central
Voilà le problème, j'aimerai donc savoir si déjà mon analyse est bonne et ensuite , un sacré coup de main car je ne m'en sors pas toute seule.
Pour l'instant, voilà ce que j'ai fait :
Pour le point 1 :
Sub Lire_repertoire
Dim i As Integer
Dim Fichier As String
Dim Nom As String
'lance une recherche de tous les fichiers commençant par "S" dans le repertoire D:\Datas\où sont stockés les fichiers bruts
With Application.Filesearch
.NewSearch:
'regarde dans le dossier désigné
.LookIn ="D:\Datas\":
'ne regarde pas dans les sous dossiers
.SearchSubFolders = False:
'recherche tous les fichiers commençant par "s"
.Filename = "s*"
'regarde les formes approchées du nom
.MatchallWordForms = True
'recherche des fichiers excel
.FileType = msoFileTypeExcelWorkbooks
If .Execute(msoSortOrderDescending) > 0 then
For i = 1 to .Foundfiles.count
Et là je bloque ....
Allo ?? vous êtes toujours là ?? pas endormis ??
Merci d'avance de votre aide !
BS.