Colorer plusieurs onglets avec condition

Bonjour,

cela fait plusieurs jours que je tourne autour de ma formule sans succès...

Pourriez vous m'aider ? je dois colorer des onglets en fonction d'informations comprises dans la colonne I de chaque onglet.

Si une information x est présente n'importe où dans la colonne I d'un onglet, alors l'onglet doit être coloré d'une certaine couleur (peu importe la couleur). Et cela doit fonctionner pour tous les onglets du workbook

Je n'ai pas réussi à appliquer de fonction en ajoutant le facteur colonne I ; donc je suis partie sur une macro qui sélectionne tout.

Je vous remercie par avance pour votre aide

je vous mets le code que j'ai pour l'instant mais qui ne fonctionne pas :

Sub colorer_onglet()

dim ws as worksheet

for each ws in worksheets

if left(ws.name, 1) = "E" then ws.Activate

For each cell in selection

If cell.Value = "KO gap above threshold" then

ActiveSheet.Tab.ColorIndex = 3

End If

Next

Next

End Sub

Bonjour,

Option Explicit

Sub colorer_onglet()

Dim I As Long, DerniereLigne As Long
Dim Ws As Worksheet

    For Each Ws In Worksheets
         If Left(Ws.Name, 1) = "E" Then
            With Ws
                DerniereLigne = .Cells(.Rows.Count, "I").End(xlUp).Row
                For I = 1 To DerniereLigne
                  If .Cells(I, "I").Value = "KO gap above threshold" Then
                     .Tab.ColorIndex = 3
                     Exit For
                  End If
                Next I
           End With
          End If
   Next Ws

End Sub

je vous remercie pour votre réponse

j'ai cependant une anomalie repérée dans le code par vba : "erreur définie par l'application ou par l'objet"

je ne pense pas avoir fait d'erreur dans la recopie ?

je suis sur Excel 365 version 2108

Merci par avance

image001

Changez la ligne

 DerniereLigne = .Cells(.Rows.Count, "I").End(xlUp).Row

Par celle-ci :

 DerniereLigne = .Cells(.Rows.Count, 9).End(xlUp).Row

hélas cela ne fonctionne pas non plus, j'ai regardé sur d'autres forums mais je n'ai pas la solution au problème... la macro bloque sur cette ligne je ne sais pas à cause de quel facteur ?

Un exemple. Boutons vert et rouge dans la barre d'accès rapide.

superbe merci cela fonctionne, j'avais oublié le Option Explicit, et j'ai également retiré un "." dans le IF "."Cells.

Encore merci pour votre aide

Bonjour

Un peu après la bataille mais bon je n'ai pas vu que le sujet soit marqué en résolu

Sub colorer_onglet()

  Dim ws As Worksheet
  Dim rng As Range
  Dim dl As Integer

  For Each ws In Worksheets
    If Left(ws.Name, 1) = "E" Then
      dl = ws.Cells(Rows.Count, 9).End(xlUp).Row
      With ws.Range("I1:I" & dl)
        Set rng = .Find("KO gap above threshold", LookIn:=xlValues)
        If Not rng Is Nothing Then
          ws.Tab.ColorIndex = 3
        End If
      End With
    End If
  Next ws

End Sub
Rechercher des sujets similaires à "colorer onglets condition"