Changer la couleur d'un onglet sous conditions Excel 2007

Bonjour à tous,

J'ai regarder plusieurs forum traitant de cas similaire au mien mais impossible de trouver ce que je cherche....

Je dois créer un tableur ou il y a les dates du dernier contrôle effectué et de la se calcul la date du prochain contrôle, suivant si celui si est annuel, semestriel, trimestriel ou mensuel. Jusque la pas de soucis mon tableau est fait tout va bien, j'ai également rajouté un code couleur qui marche également(vert=contrôle a faire dans plus de 3 mois, jaune=contrôle à faire dans moins de 3 mois et rouge=contrôle à faire ce mois)

Le problème viens que je voudrai que l'onglet de ma feuille se colore en orange dès qu'une date passe en orange, ou en rouge des qu'une date passe en rouge...

J'ai créé la macro, celle ci fonctionne : je soustrait la date du jour avec la date du contrôle a effectuer, le résultat est renvoyer en M7

  • si la valeur de M7 est > 91, contrôle dans plus de 3 mois onglet se met en vert
  • si la valeur de M7 est >30, contrôle dans moins de 3 mois onglet se met en jaune
  • si la valeur de M7 est <30, contrôle ce mois onglet se met en rouge

mais elle ne fonctionne que pour des valeurs appliquées directement à la cellule (si je rentre manuellement dans M7 92 l'onglet se met en rouge, 27 en jaune, 15 en vert etc..), mais si M7 est le résultat d'une formule (=F7-C4) (ce que je veux!) cela ne fonctionne plus

quelqu'un aurait il une solution vraiment ça me rendrai un énorme service ça fait des heures que je cherche je désespère...

Bonjour

Un essai

Alors la chapeau mille merci!!!!!!!!

tu assure grave je n'aurai jamais su ecrire une prog VBA comme ça étant donné que je me suis toujours débrouillé en consultant des sujets via des forums mais je n'ai jamais vraiment étudié le language VBA...

J'ai compris l'essentiel de ta logique mais pourrai tu me décrire cette ligne de code stp?

For J = 7 To Range("F" & Rows.Count).End(xlUp).Row

En tout cas encore un grand merci tu me sauve!

Je passe le sujet en résolu!

Bonjour

For J = 7 To Range("F" & Rows.Count).End(xlUp).Row

On part de la ligne 7 jusqu'à la dernière ligne non vide de la colonne F

Range("F" & Rows.Count).End(xlUp).Row

Grosso modo cela veut dire (les puristes fermez les yeux)

Retourne le numéro de la dernière ligne du tableau

On part de la fin de la colonneRange("F" & Rows.Count).End

On remonte xlUp et on veut la ligne Row

C'est à dire qu'il ne faut aucune inscription dans cette colonne en dessous de la dernière ligne du tableau

OK merci pour les explications! encore un grand merci bonne journée à toi!!

Rechercher des sujets similaires à "changer couleur onglet conditions 2007"