1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
   | Sub GenerateNamedRange()
Dim rng1 As Range, rng2 As Range, rng3 As Range, rngYears As Range
    Set rng1 = Union(Range("M21:M51"), Range("Y21:Y50"), Range("AL21:AL51"), _
                     Range("AY21:AY51"), Range("BL21:BL49"), Range("BY21:BY51"), _
                     Range("CL21:CL50"), Range("CY21:CY51"), Range("DL21:DL50"), _
                     Range("DY21:DY51"), Range("EL21:EL51"), Range("EY21:EY50"), _
                     Range("FL21:FL51"))
    Set rng2 = Union(Range("M121:M151"), Range("Y121:Y150"), Range("AL121:AL151"), _
                     Range("AY121:AY151"), Range("BL121:BL149"), Range("BY121:BY151"), _
                     Range("CL121:CL150"), Range("CY121:CY151"), Range("DL121:DL150"), _
                     Range("DY121:DY151"), Range("EL121:EL151"), Range("EY121:EY150"), _
                     Range("FL121:FL151"))
    Set rng3 = Union(Range("M221:M251"), Range("Y221:Y250"), Range("AL221:AL251"), _
                     Range("AY221:AY251"), Range("BL221:BL249"), Range("BY221:BY251"), _
                     Range("CL221:CL250"), Range("CY221:CY251"), Range("DL221:DL250"), _
                     Range("DY221:DY251"), Range("EL221:EL251"), Range("EY221:EY250"), _
                     Range("FL221:FL251"))
    rng3.Select
    Set rngYears = Union(rng1, rng2, rng3)
    rngYears.Select
    ' Création de la plage nommée d'après la sélection
    ActiveSheet.Names.Add name:="Years", RefersTo:=Selection
End Sub | 
Partager