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

Modélisation Discussion :

Application de suivi de tâches et problèmes de gestion des employés


Sujet :

Modélisation

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Application de suivi de tâches et problèmes de gestion des employés
    Salut ! Je suis nouveau ici, dans Access compris et j'aurais besoin de votre aide ! Je dois, pour un stage, réaliser une application de suivi de tâches+ressources et je sèche sur deux points.

    Le premier est l'occupation d'une ressource : celle-ci est affectée à une ou plusieurs tâches selon un pourcentage d'occupation. Je dois être en mesure de générer des graphiques tel que :
    * Le temps en abscisse et chaque tâche en ordonnée avec son pourcentage, pour chaque ressource
    * Un graphique de synthèse avec le temps en abscisse et la somme des pourcentages en ordonnée, pour chaque ressource (je peux vous faire un petit schéma si mes propos ne sont pas très clairs)


    Je dois, à partir d'une date de début, une date de fin et d'un pourcentage d'occupation PAR TACHE, pouvoir générer un graphique du total d'occupation de chaque employé (la somme de son pourcentageOccupation de chaque tâche affectée en même temps, par jour). Ici je nage complètement ! A moins de générer une table gigantesque des pourcentages par journée, comment pourrais-je calculer cette somme totale ?
    => Je reformule ! Comment pourrais-je passer d'un coefficient + deux dates à un coefficient appliqué sur toute une durée ? Tout ça dans le but de générer ce graphique en fonction du temps.


    Le deuxième point qui me pose problème est la décomposition des tâches. Chaque tâche peut être décomposée en plusieurs autres tâches jusqu'à 10 niveaux de décomposition. Pour l'instant j'ai mis en place une clé étrangère référençant l'id de la tâche mère + un booléen pour savoir si il s'agit d'une feuille de l'arborescence ou non mais cette solution me parait un peu facile. Qu'en pensez-vous ? Sachant que le nombre de tâches peut monter jusqu'à 1500 par projet, j'ai peur d'obtenir des formulaires assez peu ergonomiques au final ^^

    Merci d'avance du temps que vous pourrez m'accorder !

  2. #2
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    Ton graphique, c'est plutôt simple à coder.
    Ce qu'il te faut, c'est apprendre à les coder en VBA. Justement, ce forum dispose d'un tutoriel pour cela.
    => Premier point : presque résolu

    Ensuite, ce sont tes données que tu dois manipuler (puisque tu pourras voir qu'en manipulant les graphiques Access en VBA, tu peux aussi manipuler leurs données ^^).
    L'histoire des dates, je ne pense avoir tout saisi à 100% mais de ce que j'ai compris, tu as besoin de :
    1 - Parcourir les dates de ton graphique
    1.1 - Sur chacune de ces dates, tu dois trouver si ta personne à du travail sur cette période
    1.1.1 - Cas "non", tu affiches rien
    1.1.2 - Tu affiches le pourcentage sur une nouvelle série.

    Tu auras besoin d'un graphique à barres.


    Quand à ta deuxième partie du problème, je serais toi, je mettrais les sous-tâches dans une autre table de données. Et je les lierais à la principale.
    Pourquoi ?
    Simplement parce que dans la principale, tu auras certainement des informations importantes et dans l'autre des secondaires. Cela éviterait d'avoir énormément de répétitions et surtout des doublons inutiles.
    D'expérience, tout regrouper dans une seule table est un nid à problèmes sur la gestion de celle-ci (surtout s'il faut manipuler plusieurs enregistrements en même temps).

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Salut ! Tout d'abord merci de ton aide.

    Pour ce qui est des tutoriels, parle-tu de ceux-ci ? http://vb.developpez.com/faqvba/?page=3.5#CompGraph

    Tu as saisi l'essentiel pour mon histoire de date, je dois dans un formulaire être capable - pour chaque employé - de faire la somme de ses pourcentages d'occupation (en fonction des pourcentages de chaque tâche effectuées en même temps) et l'afficher sur un graphique jour par jour. Tu me suggères donc de partir d'une date X (le début de sa première tâche), d'incrémenter le jour jusqu'à une date Y (la fin de sa dernière tâche) et d'effectuer un test + un calcul du pourcentage chaque jour c'est bien cela ?

    Pour les tâches, il n'y a fondamentalement pas énormément de différences entre une tâche élémentaire ou non, je pense donc tout laisser dans la même table avec une relation récursive... De plus, séparer les tâches en fonction de leur niveau de décomposition signifierait 9 tables de plus avec ta méthode si j'ai bien compris ? C'est assez conséquent !

    Merci encore,

  4. #4
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    Oui, c'est ce genre de tutoriel qui peut t'être utile (même si je ne suis jamais tombé sur cette faq ^^) mais je pensais plus à :http://argyronet.developpez.com/offi...ss/makecharts/

    Je ne comprends pas par contre ton histoire de 9 tables pour 9 tâches ??? Tu peux n'avoir qu'une table et un numéro de tâche comme champs, non ?

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Oui, j'avais vu ce tuto mais il me reste le soucis de la partie code en VBA : pour un jour x, est-ce que l'employé travaille ? => Si oui calculer la somme de ses tâches
    L'algo est tout con, une boucle de jour1 jusqu'à jourN avec une condition dedans. Néanmoins, est-ce que je peux incrémenter une date comme ça en VBA ? Comment effectuer la recherche dans les tables ? J'imagine bien une requete sql dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT dateDebutTache,dateFinTache
    FROM Tache, Affecté 
    WHERE (Affecté.idTache=Tache.idTache) AND Affecté.idRessource=[paramètre]
    Mais comment la placer dans un if ?

    Sachant qu'au final je dois arriver à une plage de données d'après le tutorial si j'ai bien compris ?

  6. #6
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,
    dsl pour la réponse tardive...
    Tu n'as pas forcément besoin de requête SQL. Du moins, je n'en utilise point.

    Ce que tu peux faire c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim i as long
    dim date_calcule as date
     
    for i = 1 to X
     ' Tu incrémentes ici ta date (je ne suis pas sur de la syntaxe mais c'est un truc très proche de ça)
    date_calcule = dateadd("d",i,date_calcule)
     ' Je mets ici, la somme de ma recherche concernant les critères que je souhaite avoir, dans l'une des cellules du graphique
    cellule_graph = nz(dsom("[Champ_Table]","[Nom_Table/Requete]","[Champ_Recherche]=" & valeur_recherche),0)
    next i
    Ce code est loin d'être complet mais l'idée est là.
    Par exemple, il te faut un champ dans ta plage de données qui contient la date, un autre pour ta somme etc...

    Conseil : ta plage de données, tu peux la voir en éditant le graphique en faisant clic droit dessus. Charge des données dedans avec ton code et regarde ce que tu obtiens. Cela aide à mieux comprendre ce que tu fais et comment tu peux faire pour corriger tes problèmes.

    Cordialement,
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Je crois que je commence à saisir mais tout reste assez flou quand même, désolé ^^

    Je dispose d'un formulaire comportant deux contrôles date et un contrôle ressource. J'ai mis ce code adapté dans l'évènement sur clic du graphique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim req As String
    'je fais deja une selection sur la ressource ici, pas nécessaire vu qu'il me semble qu'elle est effectuée plus bas avec dSum ?
    'la requete seule retourne bien les pourcentages d'occupation de la ressource pour chaque intervalle de date, c'est déjà ça
        req = "SELECT idRessource, pourcentageOccupation,dateDebutTache,dateFinTache FROM [Affecte], [Tache] WHERE (([idRessource]= [Forms]![GraphRessource2].[idRessourceTxt]) AND ([Tache].[idTache]=[Affecte].[idTache]) AND ([Tache].[datedebuttache]<=[Forms]![GraphRessource2].[dateDebGraph])AND ([tache].[datefintache]>=[Forms]![GraphRessource2].[dateFinGraph]));"
     
        Dim i As Long
    Dim date_calcule As Date
     
    For i = [Forms]![GraphRessource2].[dateDebGraph] To [Forms]![GraphRessource2].[dateFinGraph]
           date_calcule = DateAdd("d", i, date_calcule) 'la synthaxe était bonne
           cellule_graph = Nz(DSum("[pourcentageOccupation]", "[Affecte]", "[idRessource]=" & 33), 0)
    'ou : cellule_graph = Nz(DSum("[pourcentageOccupation]", req, "[idRessource]=" & 33), 0)  ? > sachant que j'ai besoin des dates de début et de fin de tâche mais Access croit qu'il s'agit d'une plage de données trop gigantesque lorsque j'utilise req
    Next i
    Et à propos de cellule_graph ? Je comprends bien qu'il s'agit du contenu de la cellule mais comment parcourir toute la plage de donnée en lui affectant les valeurs ?

Discussions similaires

  1. Problème de gestion des exceptions
    Par Artasali dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/02/2007, 03h20
  2. Réponses: 3
    Dernier message: 18/01/2007, 16h25
  3. [SQL 2005] problèmes de gestion des chiffres décimaux
    Par skystef dans le forum Accès aux données
    Réponses: 1
    Dernier message: 10/01/2007, 11h40
  4. Problème de gestion des langues avec MFC
    Par Figaro dans le forum Visual C++
    Réponses: 4
    Dernier message: 20/11/2006, 15h56
  5. [FLASH 8] Problème de gestion des clips.
    Par glingo dans le forum Flash
    Réponses: 4
    Dernier message: 09/03/2006, 16h17

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