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
MsgBoxdu type3 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 SubFor Eachdonne à la variablecellulechaque cellule de la plage, sans gérer d'indice.With ... End Withévite de répétercelluledevant chaque propriété.- Le solde 0 n'est pas négatif : la condition est
< 0.
Pour aller plus loin
- Instruction For Each...Next : Source Microsoft Learn
- Instruction With : Source Microsoft Learn
- Propriété Interior.Color : Source Microsoft Learn