Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Toujours l'affectation des ressources

4 réponses
Avatar
Christine
Mes ressources étant en nombre insuffisant, j'ai augmenté leurs capacités
afin de ne pas étendre la durée du projet.
Je pensais faire un "recherche/remplace" à l'aide de VBA, voici le code :
Option Explicit
Dim nom_personne As Resource
Dim nom_tâche As Assignment

Sub réaffectation()
For Each nom_personne In ActiveProject.Resources
For Each nom_tâche In ActiveProject.Assignments
nom_tâche.assignmentunits = nom_personne.MaxUnits

Next
Next
End Sub

et j'ai l'erreur suivante :
erreur 438 : propriété ou méthode non gérée par cet objet dès ma première
boucle For
Je ne trouve pas l'erreur ! Merci d'avance

4 réponses

Avatar
Vincent Isoz
Bonjour

Avant même de parler du code proposé il me semble qu'il y a un problème de
compréhension de la méthode de fonctionnement de MS Project. Une bonne
formation serait fortement recommandée avant d'utiliser ce logiciel ou même
afin d'apprendre le VBA.

Vous courrez vers la catastrophe en procédant tel qu'actuellement.
Avatar
Christine
Merci pour votre réponse !


Bonjour

Avant même de parler du code proposé il me semble qu'il y a un problème de
compréhension de la méthode de fonctionnement de MS Project. Une bonne
formation serait fortement recommandée avant d'utiliser ce logiciel ou même
afin d'apprendre le VBA.

Vous courrez vers la catastrophe en procédant tel qu'actuellement.


Avatar
Gérard Ducouret
Christine,
La procédure VBA qui fait ce que vous voulez faire serait plutôt comme
celle-ci:

Sub BourreAdonf()
Dim oTache As Task, Asgt As Assignment

For Each oTache In ActiveProject.Tasks
For Each Asgt In oTache.Assignments
Asgt.Units = ActiveProject.Resources(Asgt.ResourceID).MaxUnits
Next Asgt
Next
End Sub

Mais effectivement il s'agit là d'un traitement "autoritaire" sinon brutal.
Cordialement,

Gérard Ducouret


"Christine" a écrit dans le message de
news:
Mes ressources étant en nombre insuffisant, j'ai augmenté leurs capacités
afin de ne pas étendre la durée du projet.
Je pensais faire un "recherche/remplace" à l'aide de VBA, voici le code :
Option Explicit
Dim nom_personne As Resource
Dim nom_tâche As Assignment

Sub réaffectation()
For Each nom_personne In ActiveProject.Resources
For Each nom_tâche In ActiveProject.Assignments
nom_tâche.assignmentunits = nom_personne.MaxUnits

Next
Next
End Sub

et j'ai l'erreur suivante :
erreur 438 : propriété ou méthode non gérée par cet objet dès ma première
boucle For
Je ne trouve pas l'erreur ! Merci d'avance



Avatar
Gérard Ducouret
Remaque suplémentaire concernant VBA:
Si vous avez un mot-clé, ou quelque chose qui devrait être un mot-clé, dont
les initiales restent en minuscules, comme votre "assignmentunits", lorsque
votre pointeur change de ligne, cela veut dire qu'il n'a pas été reconnu.

Gérard Ducouret


"Gérard Ducouret" a écrit dans le
message de news:
Christine,
La procédure VBA qui fait ce que vous voulez faire serait plutôt comme
celle-ci:

Sub BourreAdonf()
Dim oTache As Task, Asgt As Assignment

For Each oTache In ActiveProject.Tasks
For Each Asgt In oTache.Assignments
Asgt.Units = ActiveProject.Resources(Asgt.ResourceID).MaxUnits
Next Asgt
Next
End Sub

Mais effectivement il s'agit là d'un traitement "autoritaire" sinon
brutal.
Cordialement,

Gérard Ducouret


"Christine" a écrit dans le message
de news:
Mes ressources étant en nombre insuffisant, j'ai augmenté leurs capacités
afin de ne pas étendre la durée du projet.
Je pensais faire un "recherche/remplace" à l'aide de VBA, voici le code :
Option Explicit
Dim nom_personne As Resource
Dim nom_tâche As Assignment

Sub réaffectation()
For Each nom_personne In ActiveProject.Resources
For Each nom_tâche In ActiveProject.Assignments
nom_tâche.assignmentunits = nom_personne.MaxUnits

Next
Next
End Sub

et j'ai l'erreur suivante :
erreur 438 : propriété ou méthode non gérée par cet objet dès ma première
boucle For
Je ne trouve pas l'erreur ! Merci d'avance