Figer une donnée en fonction de la valeur d'une cellule
Bonjour à tous et à toutes,
Tout d’abord, je tiens à préciser que je suis nouveau sur forum. N’hésitez donc pas à me faire signe si je ne respecte pas les règles du forum. Et par la même, je vous souhaite à tous un Joyeux Noël en retard ainsi que bonne année 2012 (pas si en retard que ça
Fichier en P.J :
Je vous fournis en P.J mon fichier Excel au format .xlsx. Si le fichier est trop volumineux pour être uploadé sur le forum, je peux vous le transmettre par mail afin que vous puissiez comprendre dans sa totalité mes difficultés.
Explication du projet :
Je suis actuellement Project Manager et souhaite réaliser un fichier de suivi de planning. Le fichier est décomposé en quatre parties, plus d’autres parties annexes dont il ne sera pas nécessaire de parler pour résoudre mon problème (J’espère) :
• La première correspond à un « Face’o’meter » permettant de vérifier dès le départ où en est la tâche (Vert : Accomplie, Jaune : En cours, Rouge : Non commencée)
• La deuxième correspond à l’Actions Plan (colonne J à L) et liste les tâches principales et secondaires (P, S, S1, S2)
• La deuxième me permet de gérer temporellement le projet (Forecast + Progress), de définir les différentes dates (seul le Initial Start et le Initial Target seront modifiables. Tout les autres colonnes seront remplies automatiquement via des formules), le retard, le % pourcentage d’accomplissement des différentes tâches, etc.
• La quatrième partie correspond à une représentation visuelle de mon projet via un GANTT :
o Couleur Grise pour les tâches P, S1 et S2
o Couleur Bleu/Gris pour les tâches S
o Couleur Verte pour l’avancement du projet
o Couleur rouge pour symboliser le retard
Pour le moment, le fichier à exclusivement été réalisé par moi-même mais après de longue journée à chercher une solution pour les difficultés ci-dessous, je dois admettre que ça coince un peu. Je pense que mes connaissances Excel ne sont pas suffisantes pour pouvoir résoudre mes problèmes (Peut-être que le VBA me montrera le chemin)
Explication de la difficulté 1 : Calcul du % :
Le % est calculé de la manière suivante (Exemple de la cellule P11 dans mon fichier Excel):
=SI(ESTERREUR(SI(ET($L$7>$N11;$N11<>"");(NB.JOURS.OUVRES($N11;$L$7))/$M11;0));"";SI(ET($L$7>$N11;$N11<>"");(NB.JOURS.OUVRES($N11;$L$7))/$M11;0))
Ce % évolue en fonction de today() afin de représenter le % d’accomplissement de mes différentes tâches. Or même si la tâche est terminée (symboliser par le
L’idée serait de figer ce % lorsque le
Prenons un exemple : Supposons que la tâche A commence en 2012-01-04 et qu’elle doive se terminer en 2012-03-04. Le (Jeune) Project Manager a évalué le temps nécessaire pour réaliser cette tâche à 2 mois. Le Responsable va commencer la tâche A en 2012-01-04 et la finira un mois plus tard soit en 2012-02-04 (Efficace !!!). Le (Jeune) Project Manager active dans son fichier de suivi le
OUF ! La difficulté 1 est terminée…Passons à la difficulté 2 (Youpi !)
Explication de la difficulté 2 : Données statique dans le GANTT lorsque Today()>Today()-1.
Mon GANTT évolue grâce à la formule suivante (exemple de la cellule X11 qui se répète jusque dans la cellule BEC288)
=SI(ET(OU($I11="P";$I11="S1";$I11="S2");X$2>=$N11;X$2<=$O11;$T11<>"");"G";SI(ET($I11="S";X$2>=$N11;X$2<=$O11;$T11<>"");"O";"")
&SI(ET($Q11>0;X$2>=$N11;X$2<=$O11;$T11<>"");"T";SI(ET(X$2>$O11;AUJOURDHUI()>=X$2;OU($A11="K";$A11="L");$R11>0;OU
($R11<>"";$O11<>""));"D";"")))
Monstrueuse cette formule, non ? Alors imaginez jusqu’en BEC288. Mon fichier est très lent à s’ouvrir et à sauvegarder (il ne fait pourtant que 2,8MO mais cela me semble énorme pour le peu de lignes et de colonnes qu’il a). En est venue l’idée d’optimiser la plage de cellule X11 :BEC288 en faisant en sorte que les données de la cellule soit égale au résultat de la formule lorsque Today()>Today()-1.
Prenons un exemple :
L’idée serait que lorsque Y2>X2 (dans mon tableau Excel) alors la formule dans la colonne X11 n’affiche plus que le résultat de la formule. En l’occurrence dans cette exemple, la cellule X11 affichera G qui sera mis en forme conditionnellement et ainsi de suite. Je ne sais pas si cette solution peut alléger mon ficher Excel et accélérer les calculs mais c’est la seule idée que j’ai eu.
Remarque difficulté 1 et 2 :
Je ne sais pas si cela est faisable mais il faudrait que cela se fasse automatiquement dans mon tableau sans avoir à appuyer sur un bouton. Après mes recherches, il semblerait qu’il faille passer par une fonction loop pour la difficulté 1 et j’ai bien peur que cela soit identique pour la difficulté 2.
Explication de la difficulté 3 : Optimisation du fichier Excel
Cette difficulté n’en pas vraiment une et la résolution de celle-ci repose seulement sur la gentillesse des pros d’Excel qui répondront à mon message. Ceci consisterait à optimiser mon fichier Excel : Vérification et optimisation des formules essentiellement. Je suis certain que le fichier est lent car mes formules sont trop lourdes. Il y en a surement d’autres plus efficaces.
Je vous laisse le temps de découvrir mon fichier et réfléchir à mes difficultés.
Une réponse au cours des prochains jours serait appréciable.
A tous ceux qui répondront à mon post, je vous dis un grand merci et une bonne fin de journée.
Le Nouvel An Chinois ne sera que plus agréable avec la sensation d’avoir réussi, grâce à votre petit coup de pouce, à finir mon fichier.
P.S: Je viens d'essayer de charger le fichier, il est trop...Veuillez me contacter pour que je vous l'envoie. Je travaille également sur le fichier entre Excel 2007 et 2010
Cordialement,
LiuXing
Bonjour et bienvenue
Pour ton fichier, un extrait doit suffire. Supprime le maximum de colonnes et lignes ainsi que les feuilles qui ne servent pas pour ta demande.
Amicalement
Nad