Définir une plage de cellules (range) en VBA

Comment définir en VBA une plage (range) 

Pour écrire le range allant de C3 à la dernière cellule remplie de la la colonne G

Il y a plusieurs manières de l'écrire. La plus concise :

Range([C3], [G65635].End(xlUp)) 

la "dernière cellule remplie de la colonne G" est ici trouvée en partant du bas de la colonne G.
Tu peux partir du haut s'il n'y a pas de cellules vides dans tes données. Dans ce cas, ton range s'écrit

Range([C3], [G1].End(xdown)) 

On peut bien entendu faire de même avec end(xlright) ou left pour trouver la dernière cellule remplie sur une ligne.
Cette façon d'écrire est en fait équivalente à

range(range("C3"), range("G65536").end(xlUp))

tu peux donner un nom à ce range

toto=Range([C3], [G65635].End(xlUp))

ou encore appliquer une couleur aux cellules qu'il contient

Range([C3], [G65635].End(xlUp)).Interior.ColorIndex = 3

ou encore... faire 1000 choses !

Pour écrire un range avec des N°s de lignes et colonnes définis par des variables

Si tu as défini des variables maligne et macolonne, pour définir un range en utilisant ces variables utilise ce genre de syntaxe:

With Feuil1 ' à adapter
    Set maplage = .Range(.Cells(macolonne, 2), .Cells(macolonne, maligne))
End With

Auteur :

Mots clefs associés à cette page : , , , ,