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

VBA Project Discussion :

Problème pour lister toutes les tâches


Sujet :

VBA Project

  1. #1
    Futur Membre du Club
    Profil pro
    CIO
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : CIO

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Problème pour lister toutes les tâches
    Bonjour à tous,

    J'ai réalisé une petite macro pour descendre toutes les tâches d'un projet, et les "colorier" selon certains critères (bleu en cours, vert terminée ou rouge en retard)

    Mon problème est le suivant : La macro semble "sauter" les lignes regroupées et "masquées" .

    Je suis sur MS Project 2010.

    Avez-vous une idée ? Ou une autre solution ?

    Je vous remercie par avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub MFC_Couleur()
    Dim ts As Tasks
    Dim t As Task
     
    Application.ScreenUpdating = False
     
    Set ts = ActiveProject.Tasks
     
    For Each t In ts
         If Not t Is Nothing Then
            If t.PercentComplete = 100 Then
                SelectTaskCell Row:=t.ID, Column:="Nom", RowRelative:=False
                Font Underline:=False
                Font Size:="10", Color:=9
            ElseIf t.Start < Now() And t.PercentComplete = 0 Then
                SelectTaskCell Row:=t.ID, Column:="Nom", RowRelative:=False
                Font Underline:=False
                Font Size:="10", Color:=8
            ElseIf t.PercentComplete > 0 And t.PercentComplete < 100 Then
                SelectTaskCell Row:=t.ID, Column:="Nom", RowRelative:=False
                Font Underline:=False
                Font Size:="10", Color:=4
            End If
        End If
    Next t
     
    Set ts = Nothing
     
    Application.ScreenUpdating = True
     
    End Sub

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en Gestion de Projet
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Gestion de Projet

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Est tu sur de gérer tous les cas dans ton If
    Bonjour,

    Pour le problème des tâches masquées, le plus simple serait d'afficher toutes les tâches pour etre sur de toutes les traiter. Tu peux essayer les commandes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FilterApply Name:="Toutes les tâches"                           'On applique le filtre "Toutes les taches"
    OutlineShowAllTasks                                             'On developpe toutes les tâches.
    Tu auras peut etre besoin de la commande suivante pour t'assurer que la table est bien active :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveWindow.TopPane.Activate

    Pour ce qui est du non traitement de tes tâches récapitulatives, je me demande si ça ne vient pas d'un trou dans la gestion de ton If. Tu traites les cas suivants :
    - % achevé = 100%
    - %achevé = 0% ET Début < Aujourd'hui
    - 0< % achevé < 100

    Est ce qu'il ne te manquerait pas le cas :
    - %achevé = 0% et Début > Aujourd'hui

    Tu devrais vérifier que les tâches qui ne sont pas traitées ne correspondent pas à ce critère...
    Sinon le plus simple pour toi serais d'utiliser un point d'arrêt bien placé dans ton code et de faire un mode pas à pas pour voir ce qu'il se passe sur la ligne en question.

Discussions similaires

  1. Problème pour récupérer toutes les informations d'un XML
    Par neo62matrix dans le forum Général Python
    Réponses: 2
    Dernier message: 30/03/2012, 10h55
  2. Code pour lister toutes les combinaisons
    Par tontonced dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 28/11/2011, 15h03
  3. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  4. Problème pour lister tous les lecteurs
    Par zit_zit dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/09/2007, 11h35
  5. Réponses: 8
    Dernier message: 17/10/2002, 12h52

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