Je viens d'écrire, à l'intention d'un "lioné" ou d'un "ronien", une macro servant à copier les feuilles d'un classeur dans une nouvelle feuille crée pour l'occasion.
La macro fonctionne sans anicroche mais je ne comprends pas ni pourquoi ni comment.
La macro (En rouge la ligne "contestable" et contestée) :
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
Sub CopieToutesLesFeuillesAlaSuiteDansUneNouvelleFeuille()
Dim LaFeuille As Worksheet
Dim FL2 As Worksheet
    'WorkBooks("NomDuClasseurConcerné.xls").Activate          '-> A ADAPTER ***
    Set FL2 = ActiveSheet   'Feuille dont l'entête sera copiée -> A ADAPTER ***
    ActiveWorkbook.Sheets.Add Before:=Worksheets(Worksheets.Count) 'Ajoute une feuille
    Set FL1 = ActiveSheet       'instancie la feuille
    FL1.Name = "FeuilleCumul"   'Renomme la feuille
    FL2.Rows(1).Copy destination:=FL1.Range("A1")
    For Each LaFeuille In ActiveWorkbook.Worksheets 'Passe toutes les feuilles en revue...
        If Not LaFeuille.Name = FL1.Name Then       '... à l'exception de la feuille créée
        
            'Copie de la plage de donnée de chaque feuille et collage à partir de la...
            '... première cellule vide de la feuille ajoutée
            'Corriger "A2" en "A1" si pas d'entête dans les feuilles copiées A ADAPTER ***
            LaFeuille.Range(LaFeuille.Range("A2:" & _
            LaFeuille.Range("A1").SpecialCells(xlCellTypeLastCell).Address).Address).Copy _
            destination:=Cells(FL1.Range("A1").SpecialCells(xlCellTypeLastCell).Row + 1, 1)
            DoEvents
        End If
    Next
    'Copie du format de la feuille FL2
    'FL2.Cells.Copy
    'FL1.Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
              'SkipBlanks:=False, Transpose:=False
    Set FL1 = Nothing 'libère la mémoire de l'instance
    Set FL2 = Nothing
End Sub
Au pas par pas, si je glisse la souris sur FL1.name (ligne en rouge) j'ai le message "Name = <Variable objet ou nom de bloc non défini>"
Or la macro identifie bien la feuille.
Si je supprime name après FL1, j'ai une erreur "blocante"
Si je supprime name à LaFeuille et à FL1, itout.
L'explication d'un érudit me siérait beaucoup
Par avance, merci.