Bonjour,

L'objectif de ma macro est de créer une nouvelle feuille avec un nom variable. (sortie d'un tableau).
Ensuite télécharger une data base sous forme CSV et l'incorporer dans cette feuille.

ET faire cette procédure 38 fois. (38 nom differents et 38 adresses HTTP differentes)

Voici une première ébauche. Quand je lance la procédure la première boucle fonctionne mais quand elle recomence, la procédure crée la feuille mais ce bloque lorsqu'il faut mettre le nom :

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
49
50
51
52
53
54
55
56
57
 
 
Sub bouclecharge()
 
Dim i As Integer
 
    For i = 1 To 38 Step 1
    Dim l As Integer
    Dim page As Object
    Dim text As Object
    Dim ConnString As String
 
Set page = Cells(i, 10)
Set text = Cells(i, 11)
Set shpp = Sheets.Add(After:=Sheets(Sheets.count))
 
    shpp.Name = page  ' c'est ici que ce bloque la procédure : "Erreur définie par l'application ou par l'objet
 
    Sheets("MENU").Select
 
ConnString = text
Sheets(Sheets.count).Select
    With ActiveSheet.QueryTables.Add(Connection:=ConnString, Destination:=Range("A1"))
        .Name = _
        " "
        .FieldNames = True 
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 775
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileDecimalSeparator = ","
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
        End With
        Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    Rows("2:3").Select
    Selection.Delete Shift:=xlUp[ATTACH]316865[/ATTACH]
 
    Next i
End Sub
En pièce jointe le fichier en question.

Merci de m'aider