Excel VBA : Set plage

Bonjour,

Je souhaiterai créer une plage à partir d'une feuille Excel. Voici le code pour le moment :

Dernierelignekpi = Range("D" & Rows.Count).End(xlUp).Row 'Sélection de la dernière ligne écrite

Set Plage2 = "" 'Ici je voudrai définir une plage vide ? Est ce possible ?

'Recherche de chaque Sous total dans mes blocs créés par VBA

For g = 3 To Dernierelignekpi

If Cells(g, 4).Value = "Sous total" Then

Plage2 = Union(Plage2, Cells(g, 19)) 'Rajout du % avancement en face du sous total dans la plage de cellules

End if

Next

Les indications sont dans le code : Comment créer une plage de cellules sans cellule.... pour ensuite la remplir au fur et a mesure ?

Y'a t'il un autre moyen sinon de sélectionner toutes les cellules colonnes 19 en face des cellule colonnes 4 ou il est marqué "Sous total" ???

Cordialement,

Quentin

Bonjour,

Un exemple.

Cdlt.

Public Sub Test()
Dim lastRow As Long, Lrow As Long, Rng As Range
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, 4).End(xlUp).Row
        For Lrow = 3 To lastRow
            If .Cells(Lrow, 4).Value = "Sous total" Then
                If Rng Is Nothing Then
                    Set Rng = .Cells(Lrow, 19)
                Else
                    Set Rng = Union(Rng, .Cells(Lrow, 19))
                End If
            End If
        Next
    End With
End Sub

Bonjour Jean-Eric,

Je souhaiterais saluer votre travail : je n'avais encore jamais eu de réponse aussi rapide et aussi propre sur ce forum.

Je n'avais pas pensé à créer la plage lorsque le programme rencontre la première valeur.

Merci beaucoup,

Quentin

Rechercher des sujets similaires à "vba set plage"