Couleur d'onglet

Bonjour

j'ai un classeur avec plusieurs onglets , dans chaque onglet le même tableau contenant diverses formules en recherchv.

je souhaiterai changer la couleur de l'onglet en rouge, si dans au moins une des cellules se situant entre D6 et D26 le résultat de la recherchv est "sans cons".

mais aussi si ce résultat change et que toutes les cases deviens "vide" que l'onglet passe en vert.

Merci de votre aide

Bonjour Olis,

Ce ne sera faisable qu'avec du VBA et dans ce cas merci de joindre un fichier anonymisé

A+

bonjour,

Edit modo : inapproprié dans le contexte

Bonsoir

Voici un petit fichier , donc si il était possible d'avoir un petit code VBA pour :

si il est inscrit "sans cons" dans la zone "D6;D21"

et

si inferieur a "S36" dans la case B2

Je vous remercie d'avance

12classeur1.xlsm (98.62 Ko)

up

Bonjour Olis

On ne sait pas ce que voulez exactement, merci d'expliciter votre demande SVP

A+

bonjour, un essai

7classeur1-16.xlsm (106.28 Ko)
Sub test()

     For Each sh In ThisWorkbook.Worksheets     'boucle les feuilles
          If UCase(sh.Name) Like "S[0-9]*" Then     'seulement les feuille comme S+chiffre+...

               b1 = (WorksheetFunction.CountIf(sh.Range("D6:D21"), "sans cons") > 0)     'condition 1 = il y a des "sans cons"
               b2 = (WorksheetFunction.CountA(sh.Range("D6:D21")) = 0)     'condition 2 = vide
               b3 = (StrComp(sh.Range("B2").Value, "S36", 1) < 0)     'condition 3 =   B2 < "S36"

               If b1 Then     'si condition 1
                    sh.Tab.ColorIndex = 3     'rouge
               ElseIf b2 Then     'else si condition2
                    sh.Tab.ColorIndex = 4     'vert
               ElseIf b3 Then     'else si condition3
                    sh.Tab.ColorIndex = 5
               End If
          End If
     Next
End Sub

Edit modo : fichier donné, on peut s'y référer pour donner un code

Bonjour

Merci BsAlv

mais cela ne fonctionne pas sur mon fichier

j'ai bien tout recopier mais non.

De plus sur le fichier que tu me joint, l'onglet passe en rouge mais ne revient pas en vert quand la condition change.

je recapitule

conditions:

si la case B2 est inferieure a S36 et qu'il y a un ou plusieurs "sans cons" entre "D6:D21" ont passe en rouge sinon ont revient en vert.

si la case B2 est supérieur a S36 ont reste en vert (même si il est note "sans cons")

Merci d'avance

bonjour,

Fait suite au post

il n'y a plus la condition "vide" ?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

     If UCase(Sh.Name) Like "S[0-9]*" Then     'seulement les feuille comme S+chiffre+...
          b1 = (WorksheetFunction.CountIf(Sh.Range("D6:D21"), "sans cons") > 0)     'condition 1 = il y a des "sans cons"
          'b2 = (WorksheetFunction.CountA(Sh.Range("D6:D21")) = 0)     'condition 2 = vide
          b3 = (StrComp(Sh.Range("B2").Value, "S36", 1) > 0)     'condition 3 =   B2 > "S36"
          Sh.Tab.ColorIndex = IIf(b3 Or Not b1, 4, 3)   'rouge
     End If

End Sub
12classeur1-17.xlsm (106.02 Ko)

Cordialement.

Merci beaucoup de votre temps

Rechercher des sujets similaires à "couleur onglet"