Cellules et plages de cellules

Prenons cette feuille de calcul pour l'exemple :

Accès à une cellule précise

Sélectionner "Prix" avec Range :

Range("C2").select

Sélectionner "Prix" avec Cells(Ligne, Colonne)

Cells(2,3).select

Sélectionner toute la feuille de calcul :

Cells.select
' Effacer toute la feuille de calcul (Formats et contenu) :
Cells.Delete

Sélectionner les deux tableaux à la fois :

ActiveSheet.UsedRange.Select

Sélectionner de B3 à C6 :

Range("B3:C6").Select

Sélectionner seulement le tableau des fruits (n'importe quelle cellule au sein du tableau fait l'affaire) :

Range("C5").CurrentRegion.Select

Sélectionner le tableau "Papeterie" :

Range("G8").CurrentRegion.Select

Multi sélection : Sélectionner le contenu des deux tableaux, sans les titres ni les totaux :

Range("B3:C6,F6:H9").Select

Effacer les cellules sélectionnées de l'utilisateur (choisies avec la souris):

Selection.Clear

Effacer la cellule sélectionnée par l'utilisateur (Dans le cas d'une plage de cellules, la première sélectionnée)

ActiveCell.Clear

Comptage des cellules : Qu'elles soient vides ou pas :

MsgBox Range("A1:B2").Count ' 4
MsgBox ActiveSheet.UsedRange.Count ' 63

Comptage des lignes et colonnes :

MsgBox ActiveSheet.UsedRange.Columns.Count ' 7
MsgBox ActiveSheet.UsedRange.Rows.Count ' 9
' Ces deux lignes sont identiques :
MsgBox ActiveSheet.UsedRange.Cells.Count ' 63
MsgBox ActiveSheet.UsedRange.Count ' 63

Limites des tableaux avec xlDown, xlToLeft, xlToRight, xlUp

Range("B2:C7").End(xlDown).Select ' B7 (Et pas C7)
Range("B3:C4").End(xlDown).Select ' B7 (Et pas B4 ni C4)
Range("C2:B5").End(xlDown).Select ' B7 (Et pas C7)
Range("B3").End(xlDown).Select ' B7 (Et pas B3)Range("C4:D25").End(xlDown).Select
Range("C3").End(xlDown).Select
Range("F7").End(xlToLeft).Select ' E7 (Et pas B7)
Range("F7").End(xlToRight).Select ' H7
Range("F7").End(xlUp).Select ' F5 (et pas F4 ni E4 : cellule fusionnée)
Range("F7").End(xlDown).Select ' F9 (et pas F10)

Utilisation d'un tableau dans une plage de cellules. Ici la 3ème cellule à partir de B2

MsgBox Range("B2:B5")(3).AddressLocal ' $B$4
MsgBox Range("B2:C5")(3).AddressLocal ' $B$3 : 1=B2, 2=C2, 3=B3

Utilisation des fonctions Excel au sein de VBA. Il faut connaître leur correspondances en anglais.

MsgBox Evaluate("SUM(C3:C6)+AVERAGE(G6:G9)")
MsgBox WorksheetFunction.Sum(Range("C3:C6"))