FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Excel est un outil puissant. Si vous l'utilisez intensivement, vous maîtrisez sans doute les formules et la mise en forme conditionnelle. Mais en exploitant les fonctions Cells et Range en VBA, vous propulsez vos analyses à un niveau supérieur.

Le défi avec ces fonctions en VBA réside dans leur compréhension avancée. Leur syntaxe peut sembler déroutante, mais ce guide vous révèle comment les utiliser de manière innovante et efficace.

La fonction Cells

Les fonctions Cells et Range permettent à votre script VBA de cibler précisément les cellules pour lire ou écrire des données. La différence clé : Cells référence généralement une seule cellule, tandis que Range gère un groupe de cellules.

La syntaxe de Cells est Cells(ligne, colonne).

Cela référence toutes les cellules de la feuille :

Worksheets("Feuille1").Cells

Cela cible la cellule C1 (3e colonne, 1re ligne) :

Worksheets("Feuille1").Cells(1, 3)

Pour la cellule D15 :

Worksheets("Feuille1").Cells(15, 4)

Vous pouvez aussi utiliser la lettre de colonne : Cells(15, "D"). Cette flexibilité excelle dans les boucles pour traiter rapidement de grandes plages de cellules.

La fonction Range

Range est plus polyvalente : elle référence une cellule ou une plage en une instruction. Syntaxe : Range("A1", "E20") ou avec Cells.

Exemple pour A5 :

Worksheets("Feuille1").Range("A5")

Pour A1:E20 :

Worksheets("Feuille1").Range("A1:E20")

Équivalent dynamique avec Cells :

With Worksheets("Feuille1")
    .Range(.Cells(1, 1), .Cells(20, 5))
End With

Idéal pour des plages dynamiques via boucles.

Passons maintenant à des applications pratiques.

Traiter des données avec Cells

Cells brille pour appliquer des formules complexes sur plusieurs cellules, y compris sur différentes feuilles.

Exemple : Suivi des performances d'une équipe de 11 vendeurs. Feuille1 : ventes et volumes.

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Feuille2 : scores de feedback clients.

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Calculez les bonus en VBA, déclenché à l'ouverture ou par bouton.

Cells en action

Activez l'onglet Développeur : Fichier > Options > Personnaliser le ruban, cochez Développeur.

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Insérez du code via Afficher le code.

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Pour exécution à l'ouverture, dans ThisWorkbook :

Private Sub Workbook_Open()
    Dim x As Integer
    For x = 2 To 12
        Worksheets("Feuille1").Cells(x, 4).Value = _
            (Worksheets("Feuille1").Cells(x, 2).Value / 50) * 0.4 + _
            (Worksheets("Feuille1").Cells(x, 3).Value / 50000) * 0.5 + _
            (Worksheets("Feuille2").Cells(x, 2).Value / 10) * 0.1
    Next x
End Sub

Résultat :

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses

Multipliez par un montant max en cellule pour un bonus en dollars. Cells permet des calculs complexes sur de multiples feuilles.

Explorez l'objet Cells sur MSDN Microsoft.

Formater avec Range

Pour des actions groupées, Range est idéal.

Exemple : Si total volumes > 400 000 $, surligner les bonus en vert.

Maîtriser les fonctions Cells et Range en VBA Excel : Guide expert pour booster vos analyses
Private Sub Workbook_Open()
    If Worksheets("Feuille1").Cells(13, 3).Value > 400000 Then
        ActiveSheet.Range("D2:D12").Interior.ColorIndex = 4
    End If
End Sub

Autres usages : bordures, vérification orthographe, copier/effacer, recherche...

Consultez MSDN Range.

Passez au niveau supérieur

Maîtrisez Cells et Range pour des scripts avancés. Découvrez les fonctions SOMME et NB dans VBA, et notre guide introductif VBA Excel.

[]