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
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
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
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"