L’une des étapes de base nécessaires pour travailler avec des plages à l’aide de VBA est la possibilité de les sélectionner afin que vous puissiez faire une action. Cette macro simple sélectionne la plage de cellules B5: B20.
Comment ca marche?
La macro suivante sélectionne la plage de cellule B5 :B20.
Sub SelectionFormatagePlage () Range ("B5: B20"). Select End Sub
Lorsqu’une plage est sélectionnée, vous pouvez utiliser n’importe quelle propriété de l’objet Range pour agir sur ses cellules. Nous avons modifié la macro pour que la couleur de la cellule passe à l’orange, nous avons utilisé la mise en forme des nombres et la police est en gras.
Sub SelectionFormatagePlage () Range("B5: B20").Select Selection.NumberFormat = "#,##0" Selection.Font.Bold = True Selection.Interior.ColorIndex = 46 End Sub
NOTE
Pour écrire du code plus efficace, vous pouvez simplement vous référer à la portée avec l’instruction With … End With. Grâce à cela, vous pouvez utiliser une macro pour travailler sur des plages de cellules sans les sélectionner au préalable.
Sub SelectionFormatagePlage () With Range("B5: B10") .NumberFormat = "#,##0" .Font.Bold = True .Interior.ColorIndex = 46 End With End Sub
Une autre méthode par laquelle vous pouvez sélectionner une plage de cellules consiste à utiliser la propriété Cells de l’objet Range.
Il offre un moyen extrêmement pratique de sélectionner des plages directement dans le code. Et donc Cells (5, 2) signifie la cinquième ligne et la deuxième colonne (ou la cellule B5). Des mots Cellules (20, 2), cela signifie la vingtième ligne, la deuxième colonne (ou cellule B20).
Pour spécifier une plage de cellules, entrez simplement ces deux valeurs pour l’objet Range. La macro suivante sélectionne également la plage de cellules B5: B20:
Sub SelectionFormatagePlage() Range(Cells(5, 2), Cells(20, 2)).Select End Sub
Voici le code complet qui prend en compte le formatage à l’aide de la propriété Cells. Encore une fois, il convient de noter qu’il n’y a pas d’étape de sélection de cellule dans cette macro. Cela vous permet de travailler avec une plage de cellules sans la sélectionner au préalable.
Sub SelectionFormatagePlage () With Range(Cells(5, 2), Cells(20, 2)) .NumberFormat = "#,##0" .Font.Bold = True .Interior.ColorIndex = 46 End With End Sub
Entrez cette macro en copiant et collant son code dans un module standard. À cette fin:
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez sur les droits.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code.