Comment mettre en évidence la ligne et la colonne de la Cellule active dans Excel VBA

Chaque fois que nous modifions la cellule active de la feuille Feuil1, une macro doit être exécutée. Vous pouvez y parvenir en créant un événement Worksheet SelectionChange.

1. Ouvrez l’éditeur Visual Basic.

2. Double-cliquez sur Feuil1 (Feuil1) dans l’Explorateur de projets.

3. Choisissez Feuille de travail dans la liste déroulante de gauche. Choisissez SelectionChange dans la liste déroulante de droite.

Ajoutez les lignes de code suivantes à l’événement Worksheet SelectionChange:

4. Nous déclarons quatre variables de type Integer. Un nommé rowNumberValue, un nommé columnNumberValue, un nommé i et un nommé j.

Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer

5. Tout d’abord, nous ajoutons la ligne qui change la couleur d’arrière-plan de toutes les cellules en «No Fill».

Cells.Interior.ColorIndex = 0

6. Nous initialisons la variable rowNumberValue avec le numéro de ligne de la cellule active et la variable columnNumberValue avec le numéro de colonne de la cellule active.

rowNumberValue = ActiveCell.row columnNumberValue = ActiveCell.column

7. Nous mettons en surbrillance la colonne bleue. Autrement dit: toutes les cellules dont le numéro de ligne est inférieur ou égal à rowNumberValue et le numéro de colonne égal à columnNumberValue

For i = 1 To rowNumberValue 
 Cells(i, columnNumberValue).Interior.ColorIndex = 37 
Next i

Explication: pour cet exemple (voir l’image ci-dessus), rowNumberValue est égal à 12 et columnNumberValue est égal à 8. Les lignes de code entre For et Next seront exécutées douze fois. Pour i = 1, Excel VBA colore la cellule à l’intersection de la ligne 1 et de la colonne 8. Pour i = 2, Excel VBA colore la cellule à l’intersection de la ligne 2 et de la colonne 8, etc.

Remarque: au lieu du numéro ColorIndex 37 (bleu), vous pouvez utiliser n’importe quel numéro ColorIndex.

8. De la même manière, nous mettons en surbrillance la ligne bleue. C’est-à-dire: toutes les cellules avec un numéro de ligne égal à rowNumberValue et un numéro de colonne plus petit ou égal à columnNumberValue.

For j = 1 To columnNumberValue    
Cells(rowNumberValue, j).Interior.ColorIndex = 37 
Next j

9. Il est maintenant temps de tester le programme. Téléchargez le fichier Excel et voyez comment la ligne et la colonne de La cellule active est mise en surbrillance chaque fois que vous modifiez la cellule active.

S’abonner
Notifier de
0 Commentaires
le plus ancien
le plus récent le plus populaire
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x