Toujours l'affectation des ressources

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Isoz
Le #629768
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.
Christine
Le #629767
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.


Gérard Ducouret
Le #629766
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" 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



Gérard Ducouret
Le #635216
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" 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" 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







Publicité
Poster une réponse
Anonyme