Formule multicritaire

  • Initiateur de la discussion Francis
  • Date de début
F

Francis

Guest
Bonjour à tous,

Je récupère en import un fichier dont les cellules contiennent chacune 3 lettres majuscules qui correspondent à une activité différente.
Ex: XXX = absent - SBY= reserve.
Je voudrai par une macro donner une couleur différente a chaque activité.
Le format conditionnel ne convient pas car il y a environ 15 critères différents.
J'ai essayé avec la macro suivante que j'ai réduite ici à 3 conditions.
Sub test01()
For Each Cell In Range("a2:a15")
If Cell.Value = "A" Then
Cell.Select
With Selection.Interior
.ColorIndex = 19
.Pattern = xlSolid
End With
End If
If Cell.Value = "B" Then
Cell.Select
With Selection.Interior
.ColorIndex = 20
.Pattern = xlSolid
End With
End If
If Cell.Value = "C" Then
Cell.Select
With Selection.Interior
.ColorIndex = 23
.Pattern = xlSolid
End With
End If
If Cell.Value = "d" Then
Cell.Select
With Selection.Interior
.ColorIndex = 22
.Pattern = xlSolid
End With
End If
Next
End Sub
J'aimerai que la macro puisse comparer les conditions dans un tableau au lieu d'étendre ma macro à l'nfini.
D'autre part un tableau est beaucoup plus faciel à maintenir.
Si vous avez une idée
Merci de bien vouloir m'aider.
Francis
 
L

Lord Nelson

Guest
Salut Francis,

Voici une suggestion de code plus synthétique :

Sub test01()
Dim CI as Byte
For Each Cell In Range("a2:a15")
Select Case Cell.Value
Case "A": CI = 19
Case "B": CI = 20
Case "C": CI = 23
' etc...
Case Else
End Select

With Cell.Interior
.ColorIndex = CI
.Pattern = xlSolid
End With

Next
End Sub

A+
Horatio
 
F

Francis

Guest
Bonjour Horacio,

Merci pour ta suggestion cela marche bien et diminue déjà bien la macro. Elle est mieux organisée. Je vais déjà utiliser ta solution.
Je reste curieux tout de même de savoir comment on pourrait utiliser un tableau pour rechercher les "case" et les "CI"
Merci encore et à un de ces jours.

Francis
 
M

myDearFriend

Guest
Bonsoir Francis, Lord Nelson,


J'aimerai que la macro puisse comparer les conditions dans un tableau au lieu d'étendre ma macro à l'nfini....
... Je reste curieux tout de même de savoir comment on pourrait utiliser un tableau pour rechercher les "case" et les "CI".


Francis, je viens de réaliser un exemple pour répondre à la question de Fabrice Carlton sur ce Lien supprimé

Peut-être pourrais-tu t'inspirer de cette solution pour construire ton tableau de correspondances Codes Activités / Couleurs...


Cordialement,
Didier_mDF
 

Membres actuellement en ligne

Statistiques des forums

Discussions
314 210
Messages
2 107 304
Membres
109 798
dernier inscrit
NAJI2005