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

Project Discussion :

Optimisation macro de mise en forme


Sujet :

Project

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 105
    Points
    105
    Par défaut Optimisation macro de mise en forme
    Bonjour à tous,

    J'ai créé la macro ci-dessous pour mettre en forme le tableau des tâches. La macro fonctionne globalement bien mais j'aimerais un peu d'aide pour optimiser les points suivants:
    - Sa durée: cela prend bien 10 minutes pour un planning de 1500 tâches;
    - Lorsqu'elle a parcouru toutes les tâches, j'ai un message d'erreur concernant la validité d'un argument;
    - La fonction pour figer l'écran ne s'applique pas (ce qui ne doit pas aider pour la rapidité d'exécution...)

    Merci d'avance pour votre aide

    Voici la bête :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Sub outline()
     
    Dim T As Task
    Dim PJ As Project
    Dim App As Application
     
     
    Set App = MSProject.Application
    Set PJ = ActiveProject
     
     
    With App
        .ScreenUpdating = False 'Attempt to stop the screen refreshing'
        .FilterApply "&All tasks"
        .OutlineHideSubTasks
        .OutlineShowAllTasks
     
     
     
     
    For Each T In PJ.Tasks
    If Not (T Is Nothing) Then
        If T.Summary = True Then
     
            If T.OutlineLevel = 1 Then
        SelectRow Row:=T.ID, Rowrelative:=False
        Font32Ex CellColor:=2630610
        Font32Ex Color:=16777215
        Font32Ex Name:="Calibri"
        Font32Ex Size:="12"
            End If
     
         If T.OutlineLevel = 2 Then
         SelectRow Row:=T.ID, Rowrelative:=False
        Font32Ex CellColor:=10092543
        Font32Ex Color:=0
        Font32Ex Name:="Calibri"
        Font32Ex Size:="10"
        End If
     
        If T.OutlineLevel = 3 Then
        SelectRow Row:=T.ID, Rowrelative:=False
        Font32Ex CellColor:=10085886
        Font32Ex Color:=0
        Font32Ex Name:="Calibri"
        Font32Ex Size:="10"
        End If
     
        If T.OutlineLevel > 3 Then
            SelectRow Row:=T.ID, Rowrelative:=False
        Font32Ex Name:="Calibri"
        Font32Ex Size:="10"
        Font32Ex Color:=0
        Font32Ex CellColor:=-16777216
        End If
     
    Else
        SelectRow Row:=T.ID, Rowrelative:=False
        Font32Ex Name:="Calibri"
        Font32Ex Size:="10"
        Font32Ex Color:=0
        Font32Ex CellColor:=-16777216
     
      End If
    End If
     
    Next T
        SelectRow Row:=0, Rowrelative:=False
        Font32Ex CellColor:=2630610
        Font32Ex Color:=16777215
        Font32Ex Name:="Calibri"
        Font32Ex Size:="12"
     
        .ScreenUpdating = True
        .FilterApply "&All tasks"
        .OutlineHideSubTasks
        .OutlineShowAllTasks
    End With
    End Sub

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Mars 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Mise en forme du tableau de tâche - limites de project ?
    Bonjour,

    La question est ancienne, mais j'ai un problème similaire.

    1) pour accélérer le traitement, on peut utiliser des filtres
    (filtrer de manière automatique les lignes où l'on veut que le style s'applique, sélectionner l'ensemble de la page ou de la colonne, appliquer le style).

    2) néanmoins, project à l'air de bloquer au delà d'un certain nombre de cellules avec un style défini.

    Le bug est assez aléatoire avec plusieurs conséquences possibles :
    - suppression de tous les styles définis à un instant t
    (lorsque un style est appliqué sur une autre ligne, ou lors d'une sauvegarde, tous les styles précédents sont annulés)
    - refus de conserver le style sur certaines cellules seulement
    (lorsque l'on modifie l'affichage, le style est effacé sur certaines tâches seulement, mais tjs les mêmes même si on remet le style à la main ensuite).

    Quelqu'un connait-il la limite "officielle" de styles pouvant être défini ? est-ce que le nombre de colonne (lorsque le styles est appliquée à toute la ligne) est à comptabiliser dans cette limite ?

    Merci

    Cordialement,

    Xavier V.

Discussions similaires

  1. [XL-2003] Optimiser une macro de mise en forme d'un Tableau
    Par mouncefdi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/04/2009, 12h19
  2. macro pour mise en forme conditionnelle
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/03/2009, 20h21
  3. [PPT-07] Macro de mise en forme d'images
    Par ovier dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 09/03/2009, 08h55
  4. Macro de mise en forme
    Par roman33 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2008, 08h12
  5. Macro ou Mise en forme ?
    Par Troutchu dans le forum Excel
    Réponses: 7
    Dernier message: 29/02/2008, 16h31

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