Changé le fond d'une cellule en fonction de valeur contenue dans 3 cellules
Bonjour,
Je bloque un peu sur quelque chose qui me paraissait très simple de base (je penses que ce n'est vraiment pas compliqué, mais je dois bloqué sur quelque chose). Actuellement j'ai un fichier Excel avec un tableau, rien de très compliqué, cependant j'aimerai que quand dans la partie "SPECIFICATIONS", si Gx, Hx, Ix ont une valeur dans leur cellules alors on colore la cellules de la colonne M associé en vert, s'il manque au moins une valeur dans la ligne alors on colore en orange et s'il n'y a rien du tout alors on colore en rouge.
Comme dans cette exemple :
Si G12, H12, I12 possèdent chacun une valeur dans leur cellule, alors on colore la cellule M12 en vert (Et cela pour la plage de donnée G12:I1000 )
Voici le code que j'avais essayé de faire :
Sub MaMacro()
Dim i As Long
For i = 2 To 1000
If Not IsEmpty(Cells(i, 7)) Then
Cells(i, 13).Interior.Color = RGB(255, 255, 255) ' Cellule de la colonne M
Else
Cells(i, 13).Interior.Color = RGB(128, 255, 128) ' Cellule de la colonne M
End If
Next i
End SubJ'aimerai que cela soit fait en VBA pour m'entrainer un peu et voici le fichier.
Merci d'avance au temps que vous passerez sur mon sujet.
Cordialement
MikaG
Bonjour,
Voici une proposition en VBA comme demandé:
Sub MaMacro()
Dim ligFin As Long
ligFin = Range("A" & Rows.Count).End(xlUp).Row 'détermination du numéro de ligne de fin en partant vers le haut depuis la dernière ligne de la feuille
For lig = 5 To ligFin 'ligne 5 car pas besoin de regarder au dessus des en-têtes de colonne
cpt = 0 'réinitialisation du compteur de cellule non vide
For col = 7 To 9 'boucle sur les colonnes G à I
If Not IsEmpty(Cells(lig, col)) Then cpt = cpt + 1 'incrémentation du compteur de cellule non vide si cellule non vide
Next col
If cpt = 3 Then 'choix de la couleur à appliquer
Range("M" & lig).Interior.Color = RGB(198, 224, 180) 'vert
ElseIf cpt = 0 Then
Range("M" & lig).Interior.Color = RGB(255, 179, 179) 'rouge
Else
Range("M" & lig).Interior.Color = RGB(248, 203, 173) 'orange
End If
Next lig
End Sub