Excel - Power Query - Power Pivot - VBA

VBA07 | Repérer les soldes négatifs

Énoncé

  • Thème : For Each et mise en forme | Durée : 15 min | Niveau : intermédiaire.
  • Macro à écrire : Negatifs.

Travail demandé

  • Parcourir la plage des soldes (colonne B, de la ligne 2 à la dernière ligne remplie) avec For Each.
  • Pour chaque solde strictement négatif : colorer le fond avec RGB(255, 199, 206) et mettre le texte en gras.
  • Afficher ensuite une MsgBox du type 3 solde(s) négatif(s).

La vérification compare aussi la couleur de fond et le gras.

Corrigé

Sub Negatifs()
    Dim cellule As Range
    Dim derniere As Long, nb As Long
    derniere = Cells(Rows.Count, 2).End(xlUp).Row
    For Each cellule In Range("B2:B" & derniere)
        If cellule.Value < 0 Then
            With cellule
                .Interior.Color = RGB(255, 199, 206)
                .Font.Bold = True
            End With
            nb = nb + 1
        End If
    Next cellule
    MsgBox nb & " solde(s) négatif(s)"
End Sub
  • For Each donne à la variable cellule chaque cellule de la plage, sans gérer d'indice.
  • With ... End With évite de répéter cellule devant chaque propriété.
  • Le solde 0 n'est pas négatif : la condition est < 0.

Pour aller plus loin