Création automatique d'une barre étalée sur plusieurs mois ?

perce_neige Messages postés 9 Statut Membre -  
 perce_neige -
Bonjour,

Dans le cadre d'un tableau dont la première colonne indique le nom des différents projets prévus sur l'année, j'ai besoin d'automatiser la création sous excel d'une barre horizontale étalée sur plusieurs colonnes (chaque colonne correspondant à un mois de l'année en cours) qui répond aux critères suivants :

1) la longueur de la barre varie selon la date de début et de la date de fin renseignée dans deux colonnes différentes (par exemple début = 5 janvier et fin = le 14 avril 2013 ==> ce qui donne un carré vert dans les colonnes janvier, février, mars et avril)

2) la couleur de la barre varie selon la valeur renseignée dans une colonne
par exemple si la valeur de la colonne intitulée "niveau de risque" indique "1", la barre horizontale sera en rouge, si "2" la barre sera orange et si "3" la barre sera verte)

J'utilise excel 2003.

Est-ce possible sous excel d'automatiser cette création ? Et si oui comment ?

Merci beaucoup pour votre aide. Car à la main c'est vraiment fastidieux à faire car j'ai plus de 100 lignes dans mon tableau.

11 réponses

  1. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Une mise en forme conditionnelle (MFC) peut convenir puisqu'on ne dépasse pas 3 conditions (limite Excel 2003).
    On suppose:
    Date début en A2:A101
    Date fin en B2:B101
    Risque en C2:C101 (1, 2 ou 3)
    Les mois sont en D1:O1 sous forme de dates (01/01/2012, 01/02/2012...) et au format personnalisé "mmmm".
    Sélectionner D2:O101 Format Mise en forme conditionnelle
    Condition1 La formule est =ET(MOIS(E$1)>=MOIS($A2);MOIS(E$1)<=MOIS($B2);$C2=1) Motif Rouge Ajouter
    Condition2 La formule est =ET(MOIS(E$1)>=MOIS($A2);MOIS(E$1)<=MOIS($B2);$C2=2) Motif Orange Ajouter
    Condition3 La formule est =ET(MOIS(E$1)>=MOIS($A2);MOIS(E$1)<=MOIS($B2);$C2=3) Motif Vert OK
    0
  2. perce_neige Messages postés 9 Statut Membre
     
    Merci pour votre réponse très rapide. J'ai testé la solution proposée mais cela ne fonctionne pas hélas : Aucune case ne se colore.

    J'ai même recréé un tableau nouveau pour garder vos formules identiques mais cela ne fonctionne pas plus (aucun message d'erreur cependant).

    Que faire ? A quoi correspond la formule E$1 au juste ?
    0
  3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Re,
    E$1 correspond à une sinistre erreur de recopie. Partout il faut écrire D$1 à la place de E$1.
    Redites-moi si ça arrange tout ou pas.

    Petit exemple:
    https://www.cjoint.com/?3LkrknDIlHR
    0
  4. perce_neige Messages postés 9 Statut Membre
     
    Super merci cela fonctionne très bien à présent. J'ai compris grâce à votre fichier joint qu'il fallait aussi que j'utilise AND et MONTH à la place ET et MOIS car mon excel est en anglais !
    Je suis ravie. Encore merci :-)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. perce_neige Messages postés 9 Statut Membre
     
    Est-il possible de faire la même opération mais avec deux années au lieu d'une seule ? c'est à dire 2012 et 2013 dans le même tableau avec les 24 mois répartis sur 24 colonnes au lieu de 12 dans le cas initial. J'ai essayé mais ça n'a pas fonctionné, car excel semble ne pas tenir compte de l'année, puisqu'il recopie les mêmes infos sur les deux années.
    Merci de votre aide.
    0
  7. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Oui c'est possible mais il faut changer les formules pour comparer cette fois les dates de débuts et fins au dernier jour du mois de référence.
    Ce qui donne:
    =ET(DATE(ANNEE(D$1);MOIS(D$1)+1;0)>=$A2;DATE(ANNEE(D$1);MOIS(D$1);0)<$B2;$C2=1) pour la condition1
    =ET(DATE(ANNEE(D$1);MOIS(D$1)+1;0)>=$A2;DATE(ANNEE(D$1);MOIS(D$1);0)<$B2;$C2=2) pour la condition2
    =ET(DATE(ANNEE(D$1);MOIS(D$1)+1;0)>=$A2;DATE(ANNEE(D$1);MOIS(D$1);0)<$B2;$C2=3) pour la condition3
    Nota:
    =DATE(ANNEE(D$1);MOIS(D$1)+1;0) donne le dernier jour du mois de D1

    Dans l'exemple précédent on comparait seulement les mois.

    Il reste à traduire les fonctions en anglais.
    0
  8. perce_neige Messages postés 9 Statut Membre
     
    Bonjour,

    Merci beaucoup pour votre aide !

    J'ai testé la nouvelle formule sur 2 ans : elle ne remonte pas de message d'erreur et m'affiche bien une barre de la bonne couleur, CEPENDANT la barre de couleur ne s'arrête pas à la bonne date, elle continue au delà de la date de fin indiquée.

    C'est à dire qu'alors qu'il est indiqué :
    date de début : 01/07/2012
    et date de fin : 31/12/2012
    la barre de couleur continue à s'afficher sur toute l'année 2013

    J'ai l'impression que la date de fin n'est pas prise en compte par la formule.

    Avez-vous une idée d'où cela peut provenir ?

    Merci de votre aide et joyeuses fêtes !
    0
    1. perce_neige
       
      Bonjour,

      Tout mes meilleurs voeux pour 2013.

      J'ai posté mon fichier ici : http://cjoint.com/?3AdllxngrT5
      J'ai l'impression que la date de fin n'est pas prise en compte par la formule.
      0
  9. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour et meilleurs voeux,
    L'endroit où je trouve ne dispose que d'Excel 2007, j'ai donc pu jouer au "candide" avec les indications laissées dans mes propres messages...mais sans trouver de dysfonctionnement.
    À vérifier:
    Les valeurs entrées en D1:AA1 sont bien des dates (quand on passe au format standard un nombre du genre 41275 est affiché.
    Tout le champ a bien été sélectionné pour appliquer la MFC.
    Les $ sont bien à la bonne place dans les formules.

    Si ça ne marche pas vous pouvez aussi communiquer un fichier:
    Créer une copie .xls (enregister sous ... excel 2003); cette copie peut être une version allégée.
    Déposer cette copie sur le site de Cjoint.com
    Créer le lien
    Copier le lien dans votre prochain message
    0
  10. perce_neige
     
    Bonjour,

    Tous mes meilleurs voeux.

    J'ai déposé mon fichier ici : http://cjoint.com/?3AdllxngrT5

    J'ai l'impression que la date de fin n'est pas prise en compte par la formule.
    0
  11. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Les formules de MFC sont fausses.
    =ET(DATE(ANNEE(H$1);MOIS(H$1)+1;0)>=$E2;DATE(ANNEE($E2);MOIS($E2);0)< $F2;$G2="V")
    est à remplacer par:
    =ET(DATE(ANNEE(H$1);MOIS(H$1)+1;0)>=$E2;DATE(ANNEE(H$1);MOIS(H$1);0)< $F2;$G2="V")

    Faire la même modification sur les 2 autres formules.
    0
  12. perce_neige
     
    Vraiment merci pour votre aide et votre réactivité exceptionnelle.
    Ca marche du tonnerre et ca me fait gagner beaucoup de temps !

    Bon week-end à vous.
    0