Bonjour,
Je sèche littéralement sur un problème assez simple, mais vu mon incompétence en VB, c'est normal....

Je souhaite sélectionner une plage de cellules discontinues à partir d'une ligne, en ayant fait des tests sur des valeurs de cellules de cette ligne et d'un autre ligne de cellules. J'ai donc créé des objets range et je souhaite utiliser Union pour les ajouter les unes aux autres après le test de la valeur de la cellule

Le bout de code que j'ai écrit ressemble à cela, et VBA me plante à la ligne 9 (en gras) car je crois comprendre qu'il ne peut faire d'unions qu'entre range qui existent... Est-ce que quelqu'un aurait une idée là-dessus?

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
Sub correlation2()
Dim range1, range2, r1, r2 As Range
Set r1 = Worksheets("residus").Range("")
For i = 1 To 12988
    For j = 1 To 20
        If (Worksheets("Ratios").Cells(j + 1, 3).Value = 1) Then
            If (Worksheets("residus").Cells(i + 3, j + 2).Value <> 0) Then
                Set range1 = Range(Worksheets("residus").Cells(i + 3, j + 2), Worksheets("residus").Cells(i + 3, j + 2))
                Set range2 = Range(Worksheets("residus").Cells(i + 4, j + 2), Worksheets("residus").Cells(i + 4, j + 2))
               Set r1 = Union(r1, range1)
            End If
         End If
    Next j
Next i
End Sub