Bonjour a vous et merci
Si joint 2 macro permettant l’import de donnée dans des tableaux Excel
La première est une boucle for next qui importe dans des fichiers .mdb
La deuxième qui n’est pas une boucle (le but de la question) importe des .csv
Malgré de nombreuses tentatives je n’arrive pas à reproduire lapremiere boucle dans le 2eme exemple
Question bien bête au demeurant ^^ mais a la quel je ne trouve pas de solution
Merci a vous
Boucle Qui marche
La boucle a faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 Dim Dossier As Object, fso As Object Dim Files As Object Dim MaVal Sub U21NEXTFOR() 'ImportVal00 Workbooks.Open Filename:="C:\AAAA\000TotalFiltre.xlsx" 'Boucle Set fso = CreateObject("Scripting.FileSystemObject") ' Création de l'objet File System Object Set Dossier = fso.GetFolder("C:\AAAA\ImportU21") ' Créé l'objet Dossier à partir du chemin definit Set Files = Dossier.Files If Files.Count = 0 Then Exit Sub ' Si aucun fichier dans le dossier, on sort de la procédure For Each File In Files ' Sinon pour chaque fichier VPath = Dossier.Path & "\" & File.Name ' Contruit le chemin d'accès 'ouverture Base Workbooks.Open Filename:="C:\AAAA\000Base.xlsx" Windows("000Base.xlsx").Activate Sheets("Feuil1").Select Range("C1").Select 'Import Fichier de C:\AAAA\ImportU21\ With ActiveSheet.ListObjects.Add(SourceType:=0 _ , Source:=Array("OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & File & ";Mode=Share Deny Write;E" _ , "xtended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Ty" _ , "pe=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Da" _ , "tabase Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compac" _ , "t=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False") _ , Destination:=Range("$C$1")).QueryTable .CommandType = xlCmdTable .CommandText = Array("urgence") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .SourceDataFile = Station .ListObject.DisplayName = "Tableau_Val__1" .Refresh BackgroundQuery:=False End With Set MaVal = File Application.Run "001Macro.xlsm!U21BBBB" Next Application.Run "001Macro.xlsm!U21CCCC" End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Import2222() 'Ouvre Base1 Classeur Neuf et Vide Workbooks.Open Filename:="E:\00Taf\000Tortue\Base1.xlsx" 'Import Mars Sheets("Feuil1").Select Range("A2").Select With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;E:\00Taf\000Tortue\Import\Arrivee201203Mars.txt", Destination:=Range("$A$2")) .Name = "Arrivee2012Mai" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With 'Macro Suivante Application.Run "MacroTortue2222.xlsm!MiseEnFormeFeuil2222"
Partager