Mise en forme conditionnelle et incrémentation de texte

Bonjour,

J'ai un tableau dont l'une des colonnes contient du texte Projet 1; Tache 1.1; Tache 1.2; Projet 2; Tache 2.1; etc... (voir fichier joint)

Je voudrais que pour le projet 1; projet 6; projet 11; ect... donc en 5 par 5 la mise en forme conditionnel colorise la ligne en bleu foncé. Pour projet 2; projet 12; etc... se soit en orange foncé. (voir fichier joint).

Quelle formule puis je utiliser pour que se soit le cas ? J'ai essayé avec des incrémentations ou en concaténant mais cela ne fonctionne pas.

Auriez vous une idée de la formule que je puisse utilisé ?

Merci à vous

Bonjour,

Ca ne me semble pas possible sans VBA puisque les couleurs sont choisies arbitrairement (j'entend le choix d'une couleur pour une tache). Acceptez-vous une solution VBA ?

Je préférerai sans VBA.

Mais si je créé plusieurs mise en forme conditionnelle ?

Une mise en forme en bleu foncé pour Projet 1; 6; 11.... Une en bleu clair pour Taches 1.1; Taches 1.2;[...]; Taches 6.1; Taches 6.2.. Une en orange foncé pour Projet 2; 7; 12... etc... Cela ne serait pas possible ?

L'incrémentation de texte en Mise en forme conditionnelle n'existe pas ?

C'est possible, mais il faut définir d'abord autant de MFC que de projets. A ce point là c'est peut etre aussi rapide de le faire à la main ou d'utiliser un TCD.

Les MFCs ne peuvent pas jouer directement sur la couleurs qu'elles définissent. Il faut plutot les voir comme des filtres (statiques) qu'on applique sur la feuille. On peut appliquer divers filtres mais on ne peut pas dire à un filtre de s'adapter/se transformer automatiquement pour tous les cas possibles. Il faut les définir en amont.

Mais sinon oui, en définissant 11 MFC pour 11 projets, vous pouvez ensuite les appliquer en vérifiant par exemple "si la cellule contient le numéro X, appliquer la couleur Z" pour chaque numéro de projet.

Ok. mais si je fais une formule

=$A7="Projet " & 1+1*n(5)

ou peut être

=$A7= "Projet " & (Ligne()-7)*5+???

Quelque chose comme ceci cela ne pourrais pas fonctionner ?

Le problème n'est pas de détecter le numéro de projet, effectivement ca Excel le fait très bien. C'est de définir 1 couleur par projet. Cela il faut le faire à la main ou via VBA. Il n'y a pas de fonctions de type "remplissageCellule(numéro)" ou "RGB(numero)" de base dans Excel.

Un filtre de la mise en forme conditionnelle me convient très bien aussi

Quelle serait alors la formule pour incrémenter de 5 par 5 projets ?

Je ne crois pas qu'on se comprenne. Je laisse la main à quelqu'un de plus compétent.

La fonction pour "compter toutes les 5 lignes" est MOD(val ; 5), qui est égale à 0 toutes les 5 lignes.

Merci en tout cas d'avoir essayé de m'aider.

Le but de ma question c'est de justement ne pas avoir 25 MFC pour 25 projets.

Ce que je veux c'est 5 MFC pour X projets. Je souhaiterai, quelques soit le nombre de projet mes 5 MFC (1 pour chaque couleur) suffises.

Si cela est bien possible qu'elle serait la formule pour incrémenter mon texte dans la MFC ?

Re,

Si j'ai bien compris :

Ci-joint un fichier d'exemple avec 5 MFC cycliques, dont 5 couleurs qui alternent en fonction du numéro de projet.

La formule utilisée :

=MOD(SIERREUR(GAUCHE(DROITE($A1;NBCAR($A1)-CHERCHE(" ";$A1));CHERCHE(".";DROITE($A1;NBCAR($A1)-CHERCHE(" ";$A1)))-1);DROITE($A1;NBCAR($A1)-CHERCHE(" ";$A1)));5)=0

Avec "5" qui varie de 5 à 1 pour les 5 couleurs. Bon la formule à l'air lourde mais c'est parce qu'il y a beaucoup de répétitions car la fonction LET n'est pas dispo sur votre version.

Vous pouvez changer les couleurs comme bon vous semble dans l'éditeur de MFC.

Oui c'est ça! Merci !

Juste comment tu fais pour afficher complément la formule dans la fenêtre de formule de la MFC ?

Bonsoir,

pour "remplacer" LET vous pouvez nommer la formule :

image

et la MFC devient : =MOD(SIERREUR(GAUCHE(LRD;CHERCHE(".";LRD)-1);LRD);5)=0

Sinon il y a bien longtemps j'avais posté ceci...
ce qui peut donner ceci pour la formule MFC : =ET(ENT((LIGNE()-1)/6)+1=1) où le =1 correspond au "bloc" de couleur voulu.
Le fichier :

@ bientôt

LouReeD

Juste comment tu fais pour afficher complément la formule dans la fenêtre de formule de la MFC ?

On ne peut pas, enfin je ne crois pas. Je l'ai écrite dans la feuille puis copiée/collée.

@LooReeD je n'y avais pas pensé, très malin ! C'est dingue je lisais un truc là-dessus en plus aujourd'hui et je n'ai pas fait le lien... Tete de linotte. Announcing LAMBDA (microsoft.com)

Malin je ne sais pas mais datant de 2014 alors ça oui !
sinon j'ai mis à jour mon post en reprenant l'idée des entier de ligne, les formules sont alors plus simple et "détachées" des valeurs des cellules, reste à voir si cela peut convenir.

@ bientôt

LouReeD

@LouReeD : sur le fichier que tu m'as envoyé des que l'on passe le 5ème projet les couleurs perdent leurs ordre. projet 6 devient vert à la place de gris; bleu devient gris à la place de bleu foncé. je n'arrive pas trop à comprendre pourquoi. J'ai essayé d'utiliser ta fonction lambda via ton lien et je n'arrive pas non plus à la faire fonctionner. Quand je met MyLambda(6) je devrait obtenir 7 puisque x+1 mais j'ai un #NOM? qui s'affiche

Ha mais j'ai tout faux !

Suite aux 5 mises en couleur, il faut que cela se pépète pour les projets suivant !
je n'avais pas saisi cette subtilité !

Donc par exemple 7 projets mais 5 couleurs donc projet 1 et 6 de même couleur et ceci automatiquement...

Bon ben je remballe mes propositions... par contre nulle présence de formule lambda dans mes propositions... Je ne connait pas...

@ bientôt

LouReed

Formule MFC modifiée ainsi pour le bloc 1 première couleur :=ET(ENT((LIGNE()-1)/6)+1=1+(ENT((LIGNE()-1)/30))*5)
pour le bloc 2 deuxième couleur remplacez le =1+ par =2+
même logique pour les blocs suivant, après la cinquième couleur on repassera alors à la première couleur.

Pour rappel :
- le 6 correspond au nombre de ligne par bloc
- le =1+ correspond au numéro du bloc
- le 30 correspond au nombre de ligne total sur une rotation de couleur
- le *5 correspond au nombre de bloc différent sur une rotation de couleur

Donc si vous avez 4 blocs de 7 lignes pour le bloc numéro 1 la formule sera : =ET(ENT((LIGNE()-1)/7)+1=1+(ENT((LIGNE()-1)/28))*4)
on a bien 28 lignes total = 4 bloc de couleur de 7 lignes chacun.
ceci toujours indépendant des valeurs des cellules, on est "plus libre" au niveau de la présentation.

@ bientôt

LouReeD

Le fichier avec 6 MFC, mais surtout le fonctionnement en automatique avec deux variables : nombre de "blocs" et nombre de ligne par bloc.
La formule est donc avec ces deux variables : =ET(ENT((LIGNE()-1)/REP)+1=1+(ENT((LIGNE()-1)/(REP*BLK)))*BLK) où REP = nombre de ligne et BLK nombre de bloc.

Le fichier :

Si vraiment il fallait plus de 6 couleurs répétitives alors il suffit à la suite des MFC existantes d'en créer de nouvelles en modifiant "seulement" le "=1+" par une incrémentation.

@ bientôt

LouReeD

Rechercher des sujets similaires à "mise forme conditionnelle incrementation texte"