PRJ : Macro à la somme des valeurs dans une liste filtrée

Traductions disponibles Traductions disponibles
Numéro d'article: 124482 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

L'exemple de macro Microsoft Project dans la section « Informations complémentaires » de Cet article fait la somme des valeurs numériques dans une liste de tâches visibles et affiche le total dans une ligne de tâche en bas de la liste.

Plus d'informations

Microsoft fournit des exemples de Visual Basic pour Applications procédures pour illustration uniquement, sans garantie expresse ou implicite, y compris, mais sans limitation les garanties implicites de qualité marchande et/ou d'adéquation pour un usage particulier. Les procédures Visual Basic dans cet article sont fourni « tel quel » et Microsoft ne garantit pas qu'ils peuvent être utilisés dans toutes les situations. Alors que les professionnels du Support Microsoft peuvent vous expliquer la fonctionnalité d'une macro particulière, ils ne peuvent pas modifier ces exemples pour fournir une fonctionnalité supplémentaire, ni qu'ils vous permettra construire des macros répondre à vos besoins spécifiques. Si vous avez limité expérience en programmation, vous Essayez de consulter l'un des fournisseurs de solutions Microsoft. Solution Les fournisseurs proposent une large gamme de services payants, y compris la création macros personnalisées. Pour plus d'informations sur les fournisseurs de solutions Microsoft Appelez le Service d'informations clients Microsoft au (800) 426-9400.

La macro suivante additionne les valeurs des champs Numéro1 de tous visibles tâches. Après avoir exécuté cette macro, une nouvelle tâche nommée « Total » sera créée. et affichée à la fin du projet actif. Le champ Numéro1 dans ce tâche contient la somme des valeurs pour tous les autres visible Numéro1 tâches.

Microsoft Project 2010 et 2013

  1. Sur le ruban de la vue , sélectionnez Macros , puis cliquez sur Afficher les Macros.
  2. Entrez le nom « SumFilteredList, puis cliquez sur créer.
  3. Copiez le code de l'étape 6 ci-dessous dans Module1 qui est ouvert dans l'éditeur Visual Basic.
Pour utiliser cette macro, effectuez les opérations suivantes :

  1. Sélectionnez un affichage de tâche qui utilise une table, par exemple le diagramme de Gantt.
  2. Afficher uniquement les tâches que vous souhaitez calculer un total pour, en appliquant un filtre ou en masquant ou en affichant les tâches subordonnées.
  3. Sur le ruban de la vue , sélectionnez Macros, puis cliquez sur Afficher les Macros.
  4. Dans la liste des macros, sélectionnez SumFilteredList, puis cliquez sur exécuter.


Microsoft Project 98, 2000, 2002, 2003 et 2007
  1. Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
  2. Dans le champ nom de la Macro, tapez SumFilteredList. Cliquez sur Créer.
  3. Microsoft Project 2010
  4. Sélectionnez l'onglet affichage , puis cliquez sur Macros
  5. Dans la boîte de dialogue Macros , type SumFilteredList dans le Nom de la Macro enregistrée et cliquez sur créer.
  6. Dans l'éditeur Visual Basic, entrez le code suivant :
          Sub SumFilteredList()
          ' This macro totals up the values in the Number1 field
          ' for all visible (filtered) tasks, and displays this total
          ' at the bottom of the task list.
    
          Dim oTask As Task          ' Current task pointer
          Dim oTotalTask As Task     ' Totals task pointer
          Dim fTotal As Single       ' Used to hold totals
    
             ' Ignore error generated by trying to delete a task
             ' that does not exist.
             On Error Resume Next
             ' If totals task is present, delete it.
             ActiveProject.Tasks("Total:").Delete
             ' Re-enable default error handling
             On Error GoTo 0
    
             ' Select visible tasks
             SelectAll
             ' If tasks are selected, then loop through each of them
             If Not (ActiveSelection.Tasks Is Nothing) Then
                For Each oTask In ActiveSelection.Tasks
                    ' Add Number1 for each task to total
                   fTotal = fTotal + oTask.Number1   ' Field to Sum
                Next oTask
             Else
                ' There's nothing to add
                Exit Sub
             End If
    
              ' Create Totals task so it's visible
             Set oTotalTask = ActiveProject.Tasks.Add("Total:")
    
             ' Insure "Totals:" task is at outline level 1 (not indented)
             Do Until oTotalTask.OutlineLevel = 1
                  oTotalTask.OutlineOutdent
             Loop
    
             ' Put total in proper field
             oTotalTask.Number1 = fTotal             ' Field containing total
    
             ' Hide task bar for this task
             oTotalTask.HideBar = True
             ' Select totals row
             SelectRow oTotalTask.ID, False
             ' Set font to bold
             FontBold Set:=True
    
          End Sub
    						

Microsoft Project 4.x

  1. Dans le menu Outils, cliquez sur Macros.
  2. Cliquez sur Nouveau.
  3. Dans le champ nom de la Macro, tapez SumFilteredList. Cliquez sur OK.
  4. Dans l'éditeur de Module, entrez le code suivant :
          Sub SumFilteredList()
          ' This macro totals up the values in the Number1 field
          ' for all visible (filtered) tasks, and displays this total
          ' at the bottom of the task list.
    
          Dim oTask As Task          ' Current task pointer
          Dim oTotalTask As Task     ' Totals task pointer
          Dim fTotal As Single       ' Used to hold totals
    
             ' Ignore error generated by trying to delete a task
             ' that does not exist.
             On Error Resume Next
             ' If totals task is present, delete it.
             ActiveProject.Tasks("Total:").Delete
             ' Re-enable default error handling
             On Error GoTo 0
    
             ' Select visible tasks
             SelectAll
             ' If tasks are selected, then loop through each of them
             If Not (ActiveSelection.Tasks Is Nothing) Then
                For Each oTask In ActiveSelection.Tasks
                    ' Add Number1 for each task to total
                   fTotal = fTotal + oTask.Number1   ' Field to Sum
                Next oTask
             Else
                ' There's nothing to add
                Exit Sub
             End If
    
              ' Create Totals task so it's visible
             Set oTotalTask = ActiveProject.Tasks.Add("Total:")
    
             ' Insure "Totals:" task is at outline level 1 (not indented)
             Do Until oTotalTask.OutlineLevel = 1
                  oTotalTask.OutlineOutdent
             Loop
    
             ' Put total in proper field
             oTotalTask.Number1 = fTotal             ' Field containing total
    
             ' Hide task bar for this task
             oTotalTask.HideBar = True
             ' Select totals row
             SelectRow oTotalTask.ID, False
             ' Set font to bold
             FontBold Set:=True
    
          End Sub
    						
Pour utiliser cette macro, effectuez les opérations suivantes :

  1. Sélectionnez un affichage de tâche qui utilise une table, par exemple le diagramme de Gantt.
  2. Afficher uniquement les tâches que vous souhaitez calculer un total pour ces deux solutions application d'un filtre ou par masquage ou l'affichage des tâches subordonnées.
  3. Dans le menu Outils, cliquez sur Macros.
  4. Dans la liste des macros, sélectionnez SumFilteredList, puis cliquez sur Exécuter.
Pour utiliser cette macro, effectuez les opérations suivantes :

  1. Sélectionnez un affichage de tâche qui utilise une table, par exemple le diagramme de Gantt.
  2. Afficher uniquement les tâches que vous souhaitez calculer un total pour ces deux solutions application d'un filtre ou par masquage ou l'affichage des tâches subordonnées.
  3. Dans le menu Outils, pointez sur Macro, puis cliquez sur Macros.
  4. Dans la liste des macros, sélectionnez SumFilteredList, puis cliquez sur Exécuter.

Modification de la Macro

Pour additionner les valeurs des champs autres que Numéro1, remplacez la référence à Nombre1 sur la ligne commentée avec « Champ à somme » avec le nom de la champ pour lequel vous souhaitez dériver un total. Pour placer le total dans un champ autre que Numéro1, remplacer la référence à Numéro1 sur la ligne commentée avec « Champ contenant total » avec le nom du champ dans lequel vous souhaitez placer le total.

Par exemple, si le champ que vous souhaitez calculer la somme est un champ calculé, tel que Coût ou coût réel, puis la somme doit être placée dans un champ non calculés, comme Coût1 ou Numéro1. Par conséquent, pour obtenir le total de champs de coût pour toutes les tâches visibles et place le total dans le champ Coût1 de la tâche « Total », Vous devez remplacer les lignes indiquées comme suit :
   fTotal = fTotal + oTask.Cost   ' Field to Sum
   oTotalTask.Cost1 = fTotal      ' Field containing total
				

Propriétés

Numéro d'article: 124482 - Dernière mise à jour: lundi 29 avril 2013 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Project 98 Standard
  • Microsoft Project 4.1 Standard
  • Microsoft Project 4.0 Standard
  • Microsoft Project 4.0 pour Macintosh
  • Microsoft Office Project Standard 2007
  • Microsoft Office Project Standard 2003
  • Microsoft Project 2000 Standard
  • Microsoft Project 2002 Standard
  • Microsoft Project Standard 2010
  • Microsoft Office Project Professional 2007
  • Microsoft Office Project Professional 2003
  • Microsoft Office Project Server 2007
  • Microsoft Office Project Server 2003
  • Microsoft Project 2002 Professional
  • Microsoft Project Professional 2010
  • Microsoft Project Server 2002
  • Microsoft Project Server 2010
  • Microsoft Project 2013 Professional
  • Microsoft Project 2013 Standard
Mots-clés : 
kbcode kbhowto kbprogramming kbmt KB124482 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 124482
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com