Bonjour à tous,
J'ai un repertoire de fichiers excel dont chacun a une plage de cellule qui a le meme nom (donneestoexport) pour chaque fichier. Je cherche à faire une macro dans un fichier maitre, qui importerait cette plage de donnée pour chaque fichier du dossier.
Pour l'instant ma macro récupère le nom des fichiers du dossiers. Je n'arrive pas à automatiser l'importation de données externes.
Ci joint la macro :
En vous remerciant pour votre aide (et pour toutes les infos glanées sur le forum!!!)
J'ai un repertoire de fichiers excel dont chacun a une plage de cellule qui a le meme nom (donneestoexport) pour chaque fichier. Je cherche à faire une macro dans un fichier maitre, qui importerait cette plage de donnée pour chaque fichier du dossier.
Pour l'instant ma macro récupère le nom des fichiers du dossiers. Je n'arrive pas à automatiser l'importation de données externes.
Ci joint la macro :
Code:
Sheets("feuil1").Select
repertoire = "c:\mondossier"
I = 2
nf = Dir(repertoire & "\*.xls")
Do While nf <> ""
Cells(I, 1) = nf
nf = Dir
I = I + 1
Loop
filetoopen = Range("A1").Value
While filetoopen <> ""
With ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=""filetoopen" _
, _
";Mode=Share Deny Write;Extended Properties=""HDR=NO;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet" _
, _
" OLEDB:Database Password="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet O" _
, _
"LEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Data" _
, _
"base=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Range("F2"))
.CommandType = xlCmdTable
.CommandText = Array("donneestoexport")
.Name = "Fiche de planification et de suivi d'un projet_2"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = _
"filetoopen"
.Refresh BackgroundQuery:=False
End With
ActiveCell.Offset(1,0).Select
Wend
End Sub
En vous remerciant pour votre aide (et pour toutes les infos glanées sur le forum!!!)
Dernière édition: