Alimentation d'un Union avec Array

Bonjour à tous,

Je souhaite alimenter une variable de type "Range" avec des range discontinues pour les effacer par la suite. J'ai réaliser cette procédure mais ça ne fonctionne pas, quelqu'un aurait une piste ?

Sub Erase_data(x As Integer)
    Dim lst()
    Dim i As Integer
    Dim Plg As Range

        derlgn = IIf(Range("A" & Rows.Count).End(xlUp).Row < 10, 10, Range("A" & Rows.Count).End(xlUp).Row)
        lst = Array("G4:G6", "D5:D7", "D4:D7")

        Set Plg = Range("A10:F" & derlgn)
        For i = 0 To x
            Plg = Application.Union(Plg, Range(lst(i)))
        Next i

        Plg.ClearContents
End Sub

bonjour,

je ne vois pas l'utilité du x et tu as oublié une instruction set

voici comment je corrigerais ton code

Sub Erase_data()
    Dim lst()
    Dim i As Integer
    Dim Plg As Range

        derlgn = IIf(Range("A" & Rows.Count).End(xlUp).Row < 10, 10, Range("A" & Rows.Count).End(xlUp).Row)
        lst = Array("G4:G6", "D5:D7", "D4:D7")

        Set Plg = Range("A10:F" & derlgn)
        For i = Lbound(lst) To UBound(lst)
            Set Plg = Application.Union(Plg, Range(lst(i)))
        Next i

        Plg.ClearContents
End Sub

Bonjour h2so4,

Super sa fonctionne, j'avais completement oublié mon "Set" , pour le "X", je ne veux pas tout effacer à chaque fois, donc je veux limiter l'array en fonction de la demande.

Encore merci à toi

Rechercher des sujets similaires à "alimentation union array"