Excel VBA: Formatage des colonnes et des lignes

Connaissez-vous le papier d’impression qui est imprimé dans les centres de données? Sur ce papier, une ligne sur deux est généralement formatée dans la couleur verte. Vous pouvez également créer ce look à l’aide d’une macro. Pour ce faire, démarrez la macro à partir du listing .

Sub Couleur_toutes_les_deux_lignes ()

Dim i As Long

Sheets("Feuil2").Activate

For i = 1 To Selection.Rows.Count

If i Mod 2 = 1 Then

    Selection.Rows(i).Interior.ColorIndex = 4

End If

Next

End Sub

 

Utilisez la méthode Count pour compter les lignes marquées. Utilisez l’opérateur Mod pour trouver le reste de la division des deux nombres i et 2. Si la valeur 1 est renvoyée, colorez les lignes de la sélection avec la couleur d’arrière-plan VERTE

Ajoutez une nuance de vert à chaque autre rangée

La particularité de la solution est que la coloration n’a lieu que dans la zone marquée.

Ce qui fonctionne pour les lignes, bien sûr, fonctionne également pour les colonnes. Dans l’exemple suivant, toutes les autres colonnes sont colorées en VERT.

Sub coloriage_deuxième_colonne()

Dim i As Integer

Sheets("Feuil3").Activate

For i = 1 To Selection.Columns.Count

If i Mod 2 = 1 Then

    Selection.Columns(i).Interior.ColorIndex = 4

End If

Next

End Sub

 

 

Utilisez la méthode Count pour compter les colonnes marquées. Utilisez l’opérateur Mod pour trouver le reste de la division des deux nombres i et 2. Si la valeur 1 est renvoyée, colorez les colonnes de la sélection avec la couleur d’arrière-plan VERTE.

Seules les colonnes de la sélection sont colorées.

Dans l’exemple suivant, vous allez créer un calendrier. La tâche consiste maintenant à formater automatiquement les week-ends à l’aide d’une macro. Utilisez la macro du Listing  à cet effet.

Graphique : Couvrir chaque deuxième colonne avec un fond vert

Sub Formatage_week-end ()

Dim Cell As Range

Sheets("Feuil4").Activate

    For Each cell In ActiveSheet.Range("A1:O1")

        If Weekday(cell) = 1 Then

          With cell

            .Interior.ColorIndex = 16

            .Offset(1, 0).Interior.ColorIndex = 16

            .Offset(1, 0).Value = "SA"

          End With

        ElseIf Weekday(cell) = 7 Then

          With cell

            .Interior.ColorIndex = 15

            .Offset(1, 0).Interior.ColorIndex = 15

            .Offset(1, 0).Value = "SO"

          End With

        End If

    Next cell

End Sub

 

Configurez une boucle pour parcourir la plage de cellules A1: O1 cellule par cellule. Vous pouvez utiliser la fonction Jour de la semaine pour vérifier de quel jour il s’agit. La fonction Weekday attend une date valide comme argument. La fonction renvoie les valeurs du tableau .

Tableau:Les constantes pour les jours de la semaine

Si la fonction Jour de la semaine renvoie la valeur 1, il s’agit d’un dimanche. Dans ce cas, colorez la cellule d’une nuance de gris légèrement plus foncée. Écrivez également l’abréviation SO dans une cellule ci-dessous. Si la fonction Jour de la semaine renvoie la valeur 7, alors c’est un samedi. Dans ce cas, colorez la cellule d’une nuance de gris légèrement plus claire. De plus, écrivez l’abréviation SA dans une cellule ci-dessous.

Graphique : Le week-end a été mis en valeur en couleurs.

S’abonner
Notifier de
0 Commentaires
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