Bonjour à toutes et tous,
je doit lire des informations dans un fichier fermé. Ces données sont stockées dans les colonnes A à K, le nombre de lignes est aléatoire variable d'un fichier excel à un autre.
1 je récupère le nombre de lignes non vide et le stock en variable.

2 J 'utilise un bout de soft (trouvé sur le net) que j'essaye d’adapter (il ne lit que la cellule A1) mais voilà je me heurte à un problème , sans doute de syntaxe, pour définir la plage, ci joint le code, en rouge ce que j'écrit et....qui ne marche pas !
Pouvez vous m'aider, en vous remerciant par avance
Cordialement

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
Sub ImporterListeTouret()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, fichier As String
Dim ValCel
Dim LtCel
Dim Macellule

ValCel = 30 'Nombre de lignes non vide
LtCel = "k"
Macellule = LtCel & ValCel 'donc dans cet ex K30

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

If objFolder Is Nothing Then
    MsgBox "Abandon opérateur", vbCritical, "Annulation"
Else
    'Columns (1) .NumberFormat = "m/d/yyyy"
    Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\"
    [B1] = Chemin
    fichier = Dir(Chemin & "*.xls")
    Do While Len(fichier) > 0
        If fichier <> ThisWorkbook.Name Then
            ThisWorkbook.Names.Add "Plage", _
            RefersTo:="='" & Chemin & "[" & fichier & "]Feuil1'!$A$1"
            With Sheets("Feuil2")
            
                .[A1:Macellule] = "=Plage"
                .[A1:Macellule].Copy
                Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
                Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = fichier
            End With
        End If
        fichier = Dir()
    Loop
End If
End Sub