Bonjour à tous !
Je m'explique...
Je dispose d'un tableau excel qui liste des documents, et qui contient (entre autres) une colonne "Type" qui me permet de déterminer le type de chaque document. Le tableau en question est disponible ici.
Je souhaiterais attribuer une couleur à chaque ligne (de la colonne A à la colonne H) en fonction du type de document. Par exemple, s'il s'agit de notes d'information, les lignes seront de couleur bleue, s'il s'agit de notes de service, les lignes seront vertes...etc.
Là où les choses se corsent, c'est que j'ai environ une vingtaine de types de documents, alors que Excel 2003 ne permet que 3 mises en formes conditionnelles simultanées...
Je me suis donc tourné vers l'élaboration d'une macro de manière à avoir autant de mise en formes conditionnelles que de types de documents.
J'ai donc pompé sur le net une macro qui, malheureusement, n'applique la mise en forme qu'à une seule colonne...
Je vous précise que je n'ai aucune compétence en VBA...
Merci d'avance aux âmes charitables qui sauront m'éclairer
Voici la macro en question:
Je m'explique...
Je dispose d'un tableau excel qui liste des documents, et qui contient (entre autres) une colonne "Type" qui me permet de déterminer le type de chaque document. Le tableau en question est disponible ici.
Je souhaiterais attribuer une couleur à chaque ligne (de la colonne A à la colonne H) en fonction du type de document. Par exemple, s'il s'agit de notes d'information, les lignes seront de couleur bleue, s'il s'agit de notes de service, les lignes seront vertes...etc.
Là où les choses se corsent, c'est que j'ai environ une vingtaine de types de documents, alors que Excel 2003 ne permet que 3 mises en formes conditionnelles simultanées...
Je me suis donc tourné vers l'élaboration d'une macro de manière à avoir autant de mise en formes conditionnelles que de types de documents.
J'ai donc pompé sur le net une macro qui, malheureusement, n'applique la mise en forme qu'à une seule colonne...
Je vous précise que je n'ai aucune compétence en VBA...
Merci d'avance aux âmes charitables qui sauront m'éclairer
Voici la macro en question:
Code:
Sub Codecouleur()
' definirremplissage Macro
' Macro enregistrée le 29/04/2008 par VRF819
Range("a3:h100").Select
Range("a3:h100").Activate
Dim lacellule As Range
For Each lacellule In Selection
couleurderemplissage = lacellule
Next lacellule
Range("a1:h1").Select
Range("a1:h1").Activate
End Sub
Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Select Case lacellule.Value
Case "Inconnu"
indexcouleur = 0
Case "type 1"
indexcouleur = 40
Case "type 2"
indexcouleur = 36
Case "type 3"
indexcouleur = 35
Case "type 4"
indexcouleur = 17
Case "type 5"
indexcouleur = 33
Case "type 6"
indexcouleur = 31
Case "type 7"
indexcouleur = 22
Case "type 8"
indexcouleur = 15
Case "type 9"
indexcouleur = 38
Case Else
indexcouleur = xlColorIndexNone
End Select
lacellule.Interior.ColorIndex = indexcouleur
End Property