Bonjour,
j'ai un tableau dans lequel j'aimerai que les celules soient coloriés en fonction de leur contenu ... il y a trop de couleur pour effextuer une mise ne forme conditionnelle !! de plus, je souhaiterai que la macro puisse reconnaitre au moins une partie du texte de la cellule.
Voilà ce que j'ai mais ça ne sélectionne que les cellules contenant exclusivement le texte inscrit sur ma page "couleurs" alors que je voudrai ajouter plus de texte!!! :
Sub Colorier()
Application.ScreenUpdating = False
Dim Tblo
Sheets("couleur").Activate 'feuille de référence des couleurs
Range("A1").Select
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1)).Select
End With
Tblo = Selection.Value
[A1].Select
Sheets("Planning").Activate 'feuille de saisie du texte
Range("B3").Select
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1, 1)).Select
End With
For Each Cell In Selection
If Cell = "" Then Cell.Interior.ColorIndex = xlNone: GoTo Suite
For i = 1 To UBound(Tblo, 1)
If Tblo(i, 1) = Cell.Value Then Exit For
Next i
On Error Resume Next
Cell.Interior.ColorIndex = Tblo(i, 2)
On Error GoTo 0
Suite:
Next Cell
[A2].Select
End Sub
Ci joint mon fichier d'exemple ...
Merci du coup de main!
j'ai un tableau dans lequel j'aimerai que les celules soient coloriés en fonction de leur contenu ... il y a trop de couleur pour effextuer une mise ne forme conditionnelle !! de plus, je souhaiterai que la macro puisse reconnaitre au moins une partie du texte de la cellule.
Voilà ce que j'ai mais ça ne sélectionne que les cellules contenant exclusivement le texte inscrit sur ma page "couleurs" alors que je voudrai ajouter plus de texte!!! :
Sub Colorier()
Application.ScreenUpdating = False
Dim Tblo
Sheets("couleur").Activate 'feuille de référence des couleurs
Range("A1").Select
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1)).Select
End With
Tblo = Selection.Value
[A1].Select
Sheets("Planning").Activate 'feuille de saisie du texte
Range("B3").Select
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1, 1)).Select
End With
For Each Cell In Selection
If Cell = "" Then Cell.Interior.ColorIndex = xlNone: GoTo Suite
For i = 1 To UBound(Tblo, 1)
If Tblo(i, 1) = Cell.Value Then Exit For
Next i
On Error Resume Next
Cell.Interior.ColorIndex = Tblo(i, 2)
On Error GoTo 0
Suite:
Next Cell
[A2].Select
End Sub
Ci joint mon fichier d'exemple ...
Merci du coup de main!