Mise en forme conditionnelle VBA

Bonjour,

Je suis confronté depuis plusieurs jours à un problème de mise en forme conditionnelle. En effet j'aurai besoin qu'une cellule qui contient le mot "Défaut" soit automatiquement colorié en rouge. Ce mot peut par contre ne pas être seul dans la cellule. Par exemple: "1er Défaut 02". Idem pour le mot "Risque" mais en couleur jaune

De plus cette macro devra être appliqué au 14 premières pages du classeur (16 pages en tout), dans 30 classeurs identiques avec des données différentes. La macro sera exécuté pour chaque classeur séparément depuis un bouton dans la barre d'outil. Voilà pourquoi j'ai besoin de le faire par une macro et non une formule.

J'ai essayé avec l'enregistreur de macro mais cela ne fonctionne pas, je n'arrive pas à l'appliquer à plusieurs pages. Je travaille avec excel 2002 ("oui , c'est la merde )et il est limité en mise en forme conditionnelle

Je vous joint un fichier exemple.

Merci d'avance pour votre aide.

Bonjour,

Ci-dessous 2 procédures :

1 - Créer la mise en forme conditionnelle.

2 - Supprimer la mise en forme conditionnelle.

Cdlt

Option Explicit
'Option Private Module
Sub CreerMFC()
Dim ws As Worksheet
Dim rng As Range, c As Range

    Application.ScreenUpdating = False

    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> "Archivage" And ws.Name <> "Total" Then
            Set rng = ws.UsedRange
            For Each c In rng
                If c Like "*Défaut*" Then c.Interior.Color = vbRed
                If c Like "*Risque*" Then c.Interior.Color = vbYellow
            Next
        End If
    Next ws

    Set rng = Nothing

End Sub
'
Public Sub SupprimerMFC()
Dim ws As Worksheet
Dim rng As Range, c As Range

    Application.ScreenUpdating = False

    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> "Archivage" And ws.Name <> "Total" Then
            Set rng = ws.UsedRange
            For Each c In rng
                c.Interior.Color = xlNone
            Next
        End If
    Next ws

    Set rng = Nothing

End Sub

bonjour à vous

rem : si les données sont issues d'une saisie manuelle, il vaut mieux que les mots "défaut" et "risque" ne soient pas noyés dans un texte, mais plutôt intégrés dans 2 colonnes, une Défaut et une Risque. L’utilisateur tape n'importe quoi dans la cellule, par exemple un X dans la colonne Défaut ligne 45 suffit.

ceci évite tous les problèmes de saisie (fautes de frappe) : il va y avoir bôcous (oups ! ) dans tous tes classeurs

et ensuite la macro de Jean-Eric va faire des merveilles

Bonjour,

Merci beaucoup pour la réponse c'est exactement ce qu'il me fallait, ce n'est que de la saisie automatique

Je passe le sujet en résolu.

Rechercher des sujets similaires à "mise forme conditionnelle vba"