bonsoir à tous et à toutes,
je suis nouveau ici et j'ai un gros problème à résoudre.
j'ai une multitude de fichiers qui ont heureusement la même
configuration :
numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça :
FIC0001.XLS pour client 1
FIC0002.XLS pour client 2
ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une
cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque
fichier ?
la finalité est d'arriver à fusionner tous ces fichiers en un seul afin
de mieux les traiter et ensuite migrer en une table contrat par exemple
sous access.
je me vois mal retaper presque 2000 petits fichiers...
au secours et merci
'.................................................................................. la formule écrite par VBA ( en une seule ligne):
sub yy1() ActiveCell.FormulaR1C1 = _ "=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1), LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))- SEARCH(""["",CELL(""nomfichier""),1))" end sub
'.................................................................... le nom du fichier en dur:
sub yy2() Dim nomFich ActiveCell = ActiveWorkbook.Name end sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"nephelion" a écrit dans le message de news:412f9d2c$0$30988$
bonsoir à tous et à toutes, je suis nouveau ici et j'ai un gros problème à résoudre. j'ai une multitude de fichiers qui ont heureusement la même configuration : numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça : FIC0001.XLS pour client 1 FIC0002.XLS pour client 2 ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque fichier ? la finalité est d'arriver à fusionner tous ces fichiers en un seul afin de mieux les traiter et ensuite migrer en une table contrat par exemple sous access.
je me vois mal retaper presque 2000 petits fichiers... au secours et merci
salut nephelion,
la formule: (il y a plus court, mais je ne la retrouve plus...)
'..................................................................................
la formule écrite par VBA ( en une seule ligne):
sub yy1()
ActiveCell.FormulaR1C1 = _
"=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1),
LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))-
SEARCH(""["",CELL(""nomfichier""),1))"
end sub
'....................................................................
le nom du fichier en dur:
sub yy2()
Dim nomFich
ActiveCell = ActiveWorkbook.Name
end sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"nephelion" <nephelion@free.fr> a écrit dans le message de
news:412f9d2c$0$30988$636a15ce@news.free.fr...
bonsoir à tous et à toutes,
je suis nouveau ici et j'ai un gros problème à résoudre.
j'ai une multitude de fichiers qui ont heureusement la même
configuration :
numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça :
FIC0001.XLS pour client 1
FIC0002.XLS pour client 2
ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une
cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque
fichier ?
la finalité est d'arriver à fusionner tous ces fichiers en un seul afin
de mieux les traiter et ensuite migrer en une table contrat par exemple
sous access.
je me vois mal retaper presque 2000 petits fichiers...
au secours et merci
'.................................................................................. la formule écrite par VBA ( en une seule ligne):
sub yy1() ActiveCell.FormulaR1C1 = _ "=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1), LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))- SEARCH(""["",CELL(""nomfichier""),1))" end sub
'.................................................................... le nom du fichier en dur:
sub yy2() Dim nomFich ActiveCell = ActiveWorkbook.Name end sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"nephelion" a écrit dans le message de news:412f9d2c$0$30988$
bonsoir à tous et à toutes, je suis nouveau ici et j'ai un gros problème à résoudre. j'ai une multitude de fichiers qui ont heureusement la même configuration : numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça : FIC0001.XLS pour client 1 FIC0002.XLS pour client 2 ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque fichier ? la finalité est d'arriver à fusionner tous ces fichiers en un seul afin de mieux les traiter et ensuite migrer en une table contrat par exemple sous access.
je me vois mal retaper presque 2000 petits fichiers... au secours et merci
"=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1), LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))- SEARCH(""["",CELL(""nomfichier""),1))" end sub
'.................................................................... le nom du fichier en dur:
sub yy2() Dim nomFich ActiveCell = ActiveWorkbook.Name end sub
"nephelion" a écrit dans le message de news:412f9d2c$0$30988$
bonsoir à tous et à toutes, je suis nouveau ici et j'ai un gros problème à résoudre. j'ai une multitude de fichiers qui ont heureusement la même configuration : numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça : FIC0001.XLS pour client 1 FIC0002.XLS pour client 2 ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque fichier ? la finalité est d'arriver à fusionner tous ces fichiers en un seul afin de mieux les traiter et ensuite migrer en une table contrat par exemple sous access.
je me vois mal retaper presque 2000 petits fichiers... au secours et merci
"=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1),
LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))-
SEARCH(""["",CELL(""nomfichier""),1))"
end sub
'....................................................................
le nom du fichier en dur:
sub yy2()
Dim nomFich
ActiveCell = ActiveWorkbook.Name
end sub
"nephelion" <nephelion@free.fr> a écrit dans le message de
news:412f9d2c$0$30988$636a15ce@news.free.fr...
bonsoir à tous et à toutes,
je suis nouveau ici et j'ai un gros problème à résoudre.
j'ai une multitude de fichiers qui ont heureusement la même
configuration :
numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça :
FIC0001.XLS pour client 1
FIC0002.XLS pour client 2
ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans
une cellule quelconque de chaque ligne ( en général - de 5 lignes)de
chaque fichier ?
la finalité est d'arriver à fusionner tous ces fichiers en un seul
afin de mieux les traiter et ensuite migrer en une table contrat par
exemple sous access.
je me vois mal retaper presque 2000 petits fichiers...
au secours et merci
"=RIGHT(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1), LEN(MID(CELL(""nomfichier""),1,FIND(""]"",CELL(""nomfichier""),1)-1))- SEARCH(""["",CELL(""nomfichier""),1))" end sub
'.................................................................... le nom du fichier en dur:
sub yy2() Dim nomFich ActiveCell = ActiveWorkbook.Name end sub
"nephelion" a écrit dans le message de news:412f9d2c$0$30988$
bonsoir à tous et à toutes, je suis nouveau ici et j'ai un gros problème à résoudre. j'ai une multitude de fichiers qui ont heureusement la même configuration : numero de dossier, numéro de contrat, date, xxx, ...
le nom du fichier est comme ça : FIC0001.XLS pour client 1 FIC0002.XLS pour client 2 ainsi de suite
comment peut-on faire pour inscrire le nom du fichier FIC00XX dans une cellule quelconque de chaque ligne ( en général - de 5 lignes)de chaque fichier ? la finalité est d'arriver à fusionner tous ces fichiers en un seul afin de mieux les traiter et ensuite migrer en une table contrat par exemple sous access.
je me vois mal retaper presque 2000 petits fichiers... au secours et merci
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
peut-on faire automatiser la chaine ?
ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et
faire écrire le nom du fichier dans chaque ligne trouvée ?
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
merci encore
Jean-François Aubert
salut nephelion,
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy() Dim Fs Dim i Dim plg Dim cell Dim col Dim chemin Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier chemin = "D:mes documentsmonDossier" ' <<< à adapter fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False Set Fs = Application.FileSearch With Fs .LookIn = chemin .FileType = msoFileTypeExcelWorkbooks .Filename = fichier If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(i)) plg = ActiveSheet.UsedRange.Rows.Address For Each cell In Range(plg) If Not IsEmpty(cell) Then Cells(cell.Row, col) = ActiveWorkbook.Name End If Next ActiveWorkbook.Close True Next i Else MsgBox "Aucun fichier trouvé." End If End With
End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"nephelion" a écrit dans le message de news:413065a2$0$5968$
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
merci encore
salut nephelion,
peut-on faire automatiser la chaine ?
ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et
faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy()
Dim Fs
Dim i
Dim plg
Dim cell
Dim col
Dim chemin
Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier
chemin = "D:mes documentsmonDossier" ' <<< à adapter
fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False
Set Fs = Application.FileSearch
With Fs
.LookIn = chemin
.FileType = msoFileTypeExcelWorkbooks
.Filename = fichier
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
Workbooks.Open (.FoundFiles(i))
plg = ActiveSheet.UsedRange.Rows.Address
For Each cell In Range(plg)
If Not IsEmpty(cell) Then
Cells(cell.Row, col) = ActiveWorkbook.Name
End If
Next
ActiveWorkbook.Close True
Next i
Else
MsgBox "Aucun fichier trouvé."
End If
End With
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"nephelion" <nephelion@free.fr> a écrit dans le message de
news:413065a2$0$5968$636a15ce@news.free.fr...
peut-on faire automatiser la chaine ?
ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et
faire écrire le nom du fichier dans chaque ligne trouvée ?
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy() Dim Fs Dim i Dim plg Dim cell Dim col Dim chemin Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier chemin = "D:mes documentsmonDossier" ' <<< à adapter fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False Set Fs = Application.FileSearch With Fs .LookIn = chemin .FileType = msoFileTypeExcelWorkbooks .Filename = fichier If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(i)) plg = ActiveSheet.UsedRange.Rows.Address For Each cell In Range(plg) If Not IsEmpty(cell) Then Cells(cell.Row, col) = ActiveWorkbook.Name End If Next ActiveWorkbook.Close True Next i Else MsgBox "Aucun fichier trouvé." End If End With
End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"nephelion" a écrit dans le message de news:413065a2$0$5968$
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
merci encore
nephelion
salut nephelion,
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy() Dim Fs Dim i Dim plg Dim cell Dim col Dim chemin Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier chemin = "D:mes documentsmonDossier" ' <<< à adapter fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False Set Fs = Application.FileSearch With Fs .LookIn = chemin .FileType = msoFileTypeExcelWorkbooks .Filename = fichier If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(i)) plg = ActiveSheet.UsedRange.Rows.Address For Each cell In Range(plg) If Not IsEmpty(cell) Then Cells(cell.Row, col) = ActiveWorkbook.Name End If Next ActiveWorkbook.Close True Next i Else MsgBox "Aucun fichier trouvé." End If End With
End Sub
merçi jean-françois, je m'en vais tester et t'en dirais des nouvelles. amicalement,
salut nephelion,
peut-on faire automatiser la chaine ?
ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et
faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy()
Dim Fs
Dim i
Dim plg
Dim cell
Dim col
Dim chemin
Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier
chemin = "D:mes documentsmonDossier" ' <<< à adapter
fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False
Set Fs = Application.FileSearch
With Fs
.LookIn = chemin
.FileType = msoFileTypeExcelWorkbooks
.Filename = fichier
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
For i = 1 To .FoundFiles.Count
Workbooks.Open (.FoundFiles(i))
plg = ActiveSheet.UsedRange.Rows.Address
For Each cell In Range(plg)
If Not IsEmpty(cell) Then
Cells(cell.Row, col) = ActiveWorkbook.Name
End If
Next
ActiveWorkbook.Close True
Next i
Else
MsgBox "Aucun fichier trouvé."
End If
End With
End Sub
merçi jean-françois,
je m'en vais tester et t'en dirais des nouvelles.
amicalement,
peut-on faire automatiser la chaine ? ouvrir chaque fichier FIC00XX.XLS du répertoire, insérer une colonne et faire écrire le nom du fichier dans chaque ligne trouvée ?
j'ai supposé que les données des fichiers FIC00XX commence en colonne A
Sub yy() Dim Fs Dim i Dim plg Dim cell Dim col Dim chemin Dim fichier
col = 5 ' <<<< colonne où inscrire le nom du fichier chemin = "D:mes documentsmonDossier" ' <<< à adapter fichier = "FIC*.*" ' <<<< début du nom du fichier
Application.ScreenUpdating = False Set Fs = Application.FileSearch With Fs .LookIn = chemin .FileType = msoFileTypeExcelWorkbooks .Filename = fichier If .Execute(SortBy:=msoSortByFileName, _ SortOrder:=msoSortOrderAscending) > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open (.FoundFiles(i)) plg = ActiveSheet.UsedRange.Rows.Address For Each cell In Range(plg) If Not IsEmpty(cell) Then Cells(cell.Row, col) = ActiveWorkbook.Name End If Next ActiveWorkbook.Close True Next i Else MsgBox "Aucun fichier trouvé." End If End With
End Sub
merçi jean-françois, je m'en vais tester et t'en dirais des nouvelles. amicalement,