IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Bug planning Gantt


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut Bug planning Gantt
    Bonjour,

    J'ai construit un planning gantt semi-auto en compilant des données trouvées sur le forum mais j'ai une erreur.
    Dans mon planning, à partir de novembre en LL et LM pour les 16 et 17 novembre 2013 - ces jours doivent être un wkd mais ce n'est pas le cas dans le fichier qui ne reconnait que le 16 en wkd. Or si l'on planifie une tâche à ce moment là, le 17 est comptabilisé comme un jour normal et ne décale pas le gantt.

    J'ai modifié la mise en forme mais cela ne fonctionne pas.... :-(
    J'ai tout essayé en vain !!!!!

    Quelqu'un aurais une idée ?

    Merci de vos lumières.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 137
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quelle est la formule que tu as placée dans la mise en forme conditionnelle.
    J'imagine que tu utilises la fonction JOURSEM car ce que tu décris (décalage de jours) ressemble furieusement à l'oubli du deuxième argument (facultatif) de la formule où il y a lieu d'ajouter pour l'europe la valeur 2. En effet par défaut JOURSEM renvoie 1 pour dimanche alors qu'en mettant la valeur 2 au 2ème argument il renverra 1 pour lundi.
    Si ce n'est pas cela montre nous le code. (Pour ma part je n'ouvre jamais les fichiers attachés lors des premiers messages)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    Bonjour Philippe,

    Tout d'abord merci pour ton retour.
    En fait j'utilise la fonction décaler et si pour gérer les wkd. Il n'y a pas de code.
    exemple:
    =SOMME(DECALER(LM5;0;0;$J4;1)) ;
    =SI(LK$3>=$D5;(SI(LK$3>$E5;0;1));0)

    Merci de ton aide en tout cas.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 137
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    wkd est une cellule ou plage nommée ?
    Cette fonction DECALER est la formule dans la MFC ?
    Que vaut $J4 ou quelle est la formule qui le calcule.
    Je ne sais pas comment est construit ton planning mais pour ma part, j'utilise une cellule pour les jours et à l'aide de la fonction JOURSEM, je sais immédiatement si c'est un jour de week-end.
    Pour ta formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LK$3>=$D5;(SI(LK$3>$E5;0;1));0)
    Si j'ai bien compris, la formule renvoie 1 si LK$3 à une valeur comprise entre $D5 et $E5
    La formule contenue dans une MFC doit renvoyer VRAI ou FAUX, il est donc inutile d'utiliser un SI.
    Un ET irait bien à sa place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(LK$3>=$D5;LK$3<=$E5)
    Une autre option pour renvoyer 1 ou 0 dans ce cas précis est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(LK$3>=$D5) * (LK$3<=$E5)
    Concernant le diagramme de Gantt as-tu lu cet article sur le sujet (blog de Pierre Fauconnier) ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    J'ai essayé avec ta formule mais ça ne marche toujours pas. Je ne suis pas expert en excel pour dire vrai mais j'aimerai vraiment comprendre le pourquoi du comment !!

    Sinon le week-end est une cellule et la fonction décaler permet de gérer le remplissage couleur de la cellule (renvoie 1 si tâche en cours pour paramétrer la MFC)

    Je suis passé voir ton lien également. C'est très bien fait par contre ça ne répond pas à mon attente car je suis en multi-projet / mutli-tâches.
    Si tu vas sur mon fichier tu verras que l'on peut gérer des sous-tâches ainsi que les jours fériés de l'année.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 137
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai regardé ton classeur mais j'avoue qu'il est difficile sans une feuille contenant un minimum d'explications quant aux plages nommées et l'organisation de la feuille.
    De plus il y a des cellules dans une plage qui ont des MFC différentes d'autres cellules se trouvant dans cette même plage donc il est difficile de s'y retrouver pour un non initié au projet et je crois que tu te compliques la vie avec DECALER
    Sinon le week-end est une cellule et la fonction décaler permet de gérer le remplissage couleur de la cellule (renvoie 1 si tâche en cours pour paramétrer la MFC)
    Donc pour faire simple imaginons une plage de cellules à mettre en forme.
    Cette plage est référencée $C$2:$BM$10 les dates se trouvant sur la première ligne de la plage (ligne 2 de la feuille excel.
    Une plage nommée _jFerie contient les jours fériés
    Exemple 1 Deux MFC.
    L'une pour les week-end contient cette formule
    L'autre pour les fériés contient cette formule
    Exemple 2 Une seule MFC. Pour les fériés et les Week-ends
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU(NON(ESTNA(EQUIV(C$2;_jFerie;0)));JOURSEM(C$2;2)>5)
    Un classeur attaché illustre mon propos. (J'ai mis des jours fériés fantaisistes)
    Fichiers attachés Fichiers attachés
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2007
    Messages : 33
    Par défaut
    Merci beaucoup pour ton aide.
    Désormais ça fonctionne.

    A l'occasion j'aimerai bien en savoir un peu plus sur :

    =OU(NON(ESTNA(EQUIV(C$2;_jFerie;0)));JOURSEM(C$2ine;2)>5)

    Je ne connais pas la fonction ESTNA

    Maintenant je me demande comment représenter plus simplement les "briques" du gantt. Connais tu une MEF plus simple que celle que j'ai utilisé car c'est un peu une usine à gazs...

    Merci

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 137
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par jeremy383 Voir le message
    Merci beaucoup pour ton aide.
    Désormais ça fonctionne.
    A l'occasion j'aimerai bien en savoir un peu plus sur :
    =OU(NON(ESTNA(EQUIV(C$2;_jFerie;0)));JOURSEM(C$2;2)>5)
    Je ne connais pas la fonction ESTNA
    ESTNA est une formule de la catégorie Informations et fait partie d'une série de formule regroupée sous l'appellation EST
    Extrait de l'aide d'excel
    Chacune de ces fonctions, regroupées sous l’appellation de fonctions EST, vérifie la valeur spécifiée et renvoie VRAI ou FAUX, selon le cas. Par exemple, la fonction ESTVIDE renvoie la valeur logique VRAI si l’argument valeur est une référence à une cellule vide et la valeur logique FAUX dans les autres cas.
    La fonction EST vous permet d’obtenir des informations sur une valeur avant d’effectuer un calcul ou une autre action où elle intervient. Vous pouvez, par exemple, utiliser la fonction ESTERREUR avec la fonction SI pour effectuer une action différente en cas d’erreur :
    Donc ESTNA renvoie VRAI si la fonction (ici EQUIV) fait référence à la valeur d’erreur #N/A (valeur non disponible).
    Comme nous avons besoin d'avoir VRAI si EQUIV renvoie un n° de ligne, nous allons inverser la valeur booléenne par la formule NON
    NON(VRAI) renvoie FAUX et inversément
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-MAC 2011] Planning (Gantt) : petites adaptations
    Par pamplelune67 dans le forum Excel
    Réponses: 4
    Dernier message: 24/05/2024, 12h27
  2. [XL-2007] Bug planning Gantt excel
    Par jeremy383 dans le forum Excel
    Réponses: 1
    Dernier message: 09/10/2013, 17h33
  3. [Débutant] Personnalisation/binding Planning Gantt de dlhsoft
    Par guigui14760 dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 22/02/2013, 15h12
  4. [XL-2003] Créer un planning Gantt à partir d'une liste de taches
    Par babouu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/07/2012, 08h32
  5. Réponses: 9
    Dernier message: 09/03/2011, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo