Macro MEFC plus de 3 conditions sous excel 2003
Bonjour,
Pour faire une mis en forme conditionnelle sous excel 2003, en trifouillant, je suis arrivé à cette macro:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Sub formatConditionnelle()
Application.ScreenUpdating = False
For Each c In [BH2:BH250] 'plage a testée
c.Select
Dim l As Long
l = ActiveCell.Select
If ActiveCell.Value = "X" And ActiveCell.Offset(0, 9) <> "" Then
ActiveCell.Select
Selection.Font.ColorIndex = 45
Else
If ActiveCell.Value = "Y" And ActiveCell.Offset(0, 9) = "" Then
ActiveCell.Select
Selection.Font.ColorIndex = 5
Else
ActiveCell.Select
Selection.Font.ColorIndex = 1
End If
End If
Next
Application.ScreenUpdating = True
Range("BH2").Select
End Sub |
Je voudrais la modifier pour obtenir 2 choses:
- La cellule se colore et non la police;
- seules les cellules de la colonne concernée se colorent.
MERCI BEAUCOUP
1 pièce(s) jointe(s)
macro MFC plus de 3 conditions
Bonjour,
J'arrive à la fumée des cierges mais je ne résiste pas au plaisir de te proposer ceci plutôt qu'une multitude de "elseif":
Rendons à César le mérite qui lui revient: C'est le souvenir des exercices sur "evaluate" de J Boisgontier qui m'a conduit à ce code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Sub formatConditionnelle()
couleur = [{"A",8;"B",9;"C",3;"D",4;"E",10;"F",6;"G",7}] 'fonction evaluate
Application.ScreenUpdating = False
For Each C In [B2:B25] 'plage a testée
For lig = LBound(couleur, 1) To UBound(couleur, 1)
If C = couleur(lig, 1) And C.Offset(0, 9) <> "" Then C.Interior.ColorIndex = couleur(lig, 2)
If C.Offset(0, 3) = couleur(lig, 1) And C.Offset(0, 9) <> "" Then C.Offset(0, 3).Interior.ColorIndex = couleur(lig, 2)
Next lig
Next
Application.ScreenUpdating = True
End Sub |
Il te faut adapter à ta plage.
edit : apporté une correction après message de PARMI
Cordialement,
1 pièce(s) jointe(s)
macro MFC plus de 3 conditions
Bonjour,
Voici le fichier adapté à ton cas; soit:
Colonne BH
Colonne BN
250 lignes
et si tu donnais les conditions qui seront réellement à à traiter, tu ne crois pas que ce serait plus simple?
Cordialement,
macro MFC plus de 3 conditions
Bonjour,
et avec ton code que empile les "Elseif" cela marchait ou produisait une erreur ?
A+
macro MFC plus de 3 conditions
re...,
Pour prendre BN en compte ce ne sera pas un problème
par contre, les lignes ratées se trouvaient vers la fin du fichier ou un peu partout dans le fichier ? et ces ratès sont-ils nombreux ?
macro MFC plus de 3 conditions
Bonsoir,
Citation:
Pour BN, il s'agit bien de colorer les cellules en fonction des valeurs des cellules de BH.
Que faut-il comprendre exactement ?
Dans mon code, BN est coloré suivant les mêmes conditions que BH, à savoir :
- les lettres acceptées sont les mêmes que celles retenues pour BH
- la colonne non vide est également celle retenue pour BH.
Pour l'autre problème, je ne peux hélas rien faire si je ne dispose pas du fichier ou d'un extrait du fichier à traiter.
Vérifie, on ne sait jamais, qu'un espace ne traine pas devant ou derrière les "mails" qui ne passent pas.
Cordialement,