Urgent: Macros If + boucle + couleur des cellules...

gaelle31

XLDnaute Nouveau
Bonjour,
Je débute avec VBA et les macros et je souhaite créer une macro de mise en forme conditionnelle. Lorsque je l'enregistre elle ne marche pas. J'ai donc décidé de la créer moi même et c'est un rattage total. Voilà donc mon problème:
Je souhaite que sur toute une colonne (O), et ce, jusqu'à ce que les cellules soient vides, la macro execute les conditions suivantes:
Si la cellule = "A", alors mettre un fond vert clair et une écriture vert foncé
Si la cellule = "B", alors fond jaune et écriture orange
Si la cellule = "C", alors fond rosé et écriture bordeaux
Sinon, fond rouge et écriture noire
J'ai tenté ça, mais évidemment ça ne marche pas:

Range("O2").Select
n = 1
Do
n = n + 1

If [O2] = " Efficace" Then
Selection.ColorIndex = 11 And Selection.Font = 35
End If

If vcellule = " Défectueux" Then Selection.ColorIndex = 21 And Selection.Font = 54
End If
If vcellule = " Critique" Then Selection.ColorIndex = 1 And Selection.Font = 30
Else: Selection.ColorIndex = 45 And Selection.Font = 36
End If
Loop Until IsEmpty(Cells(n, 1))

Merci beaucoup pour votre aide....
 

pierrejean

XLDnaute Barbatruc
Re : Urgent: Macros If + boucle + couleur des cellules...

Bonjour gaelle31

Vois si tu peux t'onspirer de ceci

VB:
For n = 1 To Range("O65536").End(xlUp).Row
Select Case Range("O" & n)
Case "A"
  Range("O" & n).Interior.ColorIndex = 3
  Range("O" & n).Font.ColorIndex = 1
Case "B"
  Range("O" & n).Interior.ColorIndex = 4
  Range("O" & n).Font.ColorIndex = 2
Case "C"
  Range("O" & n).Interior.ColorIndex = 5
  Range("O" & n).Font.ColorIndex = 3
Case Else
  Range("O" & n).Interior.ColorIndex = 6
  Range("O" & n).Font.ColorIndex = 4
End Select
Next n
 

gaelle31

XLDnaute Nouveau
Re : Urgent: Macros If + boucle + couleur des cellules...

Merci beaucoup, PierreJean! C'est nickel ça marche très bien. Les couleurs ne sont pas bonnes mais pour le reste c'est impecable.
Très rapide et efficace! Merci encore!
 

gaelle31

XLDnaute Nouveau
Re : Urgent: Macros If + boucle + couleur des cellules...

Bonjour gaelle31

Vois si tu peux t'onspirer de ceci

VB:
For n = 1 To Range("O65536").End(xlUp).Row
Select Case Range("O" & n)
Case "A"
  Range("O" & n).Interior.ColorIndex = 3
  Range("O" & n).Font.ColorIndex = 1
Case "B"
  Range("O" & n).Interior.ColorIndex = 4
  Range("O" & n).Font.ColorIndex = 2
Case "C"
  Range("O" & n).Interior.ColorIndex = 5
  Range("O" & n).Font.ColorIndex = 3
Case Else
  Range("O" & n).Interior.ColorIndex = 6
  Range("O" & n).Font.ColorIndex = 4
End Select
Next n

PARFAIT, ça marche nickel. Merci beaucoup

ps: Euh, je ne sais pas combien de fois j'ai répondu "Merci", je ne vois jamais s'aficher ma réponse alors je recommence encore et encore...
 

Discussions similaires

Réponses
5
Affichages
198