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

Conception Discussion :

Mettre en place une "interdépendance" de données


Sujet :

Conception

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Mettre en place une "interdépendance" de données
    Bonjour à tous,

    Je travaille sur un outil de répartition des tâches entre différentes personnes d'un service, rien d'ultra compliqué mais je suis plutot débutant

    L'idée est la suivante : Celui qui a le moins de charge de travail accumulé doit faire la tâche. On trouve cette personne en triant par ordre décroissant et en prenant le premier de la liste.

    Nom : explication.png
Affichages : 1118
Taille : 18,0 Ko

    Puis son nom est enregistré dans le tableau de planning et on lui ajoute la charge de travail correspondante, il n'est donc plus premier au prochain tri et la prochaine tâches est pour quelqu'un d'autre. Ainsi de suite jusqu'à la fin.


    Nom : explication-2.png
Affichages : 1010
Taille : 37,8 Ko


    Jusque là tout va bien ! Mais j'ai un problème : Comment permettre la modification manuelle des attribution de tâches ?
    - Parce si on enlève quelqu'un, comment lui soustraire automatiquement la charge de travail correspondante ? (J'ai du mal à imaginer l'utilisateur penser à enlever 2h dans le tableau des charges de travail)
    - Et encore, comment être sur qu'il re-répartisse également les nouvelles charges de travail ?

    L'idée à laquelle je pensais :
    1/ Avoir tout le tableau de planning vérouillé mais avoir une fonction qui permet de :
    a) Déverrouiller une plage de cellule (par exemple de semaine 12 à 15)
    b) Calculer la charge de travail de chacun dans cette zone, puis la soustraire temporairement à la charge de travail de chacun
    c) La personne modifie comme elle le souhaite la répartition
    d) On recalcul la charge de travail de chacun dans cette zone (a priori elle sera différente vu qu'il y a eu des modifs) et on la re-rajoute pour chacun
    e) On reverrouille

    Mais ça me semble un peu bancal et lourd, non ? Le programme ferait des boucles du genre :
    - Pour tel nom du tableau, combien y'a t'il de tâches de tel catégorie, de tel catagorie et tel autre ? Combien de temps total ? Enregistrement ; soustraction ; passage au suivant....

    J'ai d'autres idées de solution mais c'est toujours assez bancal et pas solide, puis je vais éviter de trop en écrire quand même. Donc clairement ce que je me demande :

    Peut on avoir des interdépendances "logiques" entre différents tableaux ? Des liens de causes à conséquences ? Pour illustrer :

    Nom : explication-3.png
Affichages : 947
Taille : 19,2 Ko


    Je ne sais pas trop quoi dire d'autres en fait.. Mais donc, comment lier des actions sur une cellule (ajout ou suppression d'un nom) à d'autres cellules de manière directe ? (Genre il y a une jointure, pas juste "je regarde la valeur", je la cherche ailleurs comme avec une rechercheV et je supprime tels nombres d'heures de charge à la personne).


    Ou alors, avez-vous des idées de méthodes ? De procédés ? Enfin, des manières de faire auxquels je n'aurais pas pensés ? Une simple piste peut m'aider parce que je crains de partir avec un structure/architecture foireuse qui fera une usine à gaz de spécificités à prendre en compte..

    J'espère que mon explication est claire en tout cas

    Merci d'avance pour votre temps, bonne journée à tous !

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Tu sais quoi ? j'ai rien compris

    Tout de même, j'ai relu 3 fois ton post, et j'ai du mal à capter. Néanmoins, dans ton tableaux il y a des choses que je comprend pas :
    - Dans ton premier tableau, tu fais un tri par ordre décroissant des tâches cumulées : Pourquoi Nelly est en premier, et Sivilay en dernier, alors qu'ils ont la même charge ?
    - dans ton 2e tableau, je comprend pas en fait comment il est renseigné je comprend pas le lien, en fait, entre ton premier tableau et le 2e. Surtout comment il est renseigné : il est renseigné tous les début de semaine ? il y a déjà des macros derrières qui sont présentes ?

    Si les tableaux sont "liés", pourquoi ne pas utiliser plutôt des formules Excel, que du VBA ?

    Désolé pour mes questions qui pourraient te paraitre absurdes, mais j'ai du mal à comprendre ton besoin
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ah dur, j'ai perdu tout mon texte..

    Merci pour ta réponse en tout cas, je me doutais que je n'étais pas totalement clair.. (Mais je craignais de faire un trop gros pavé en étant trop descriptif)

    J'avais écrit un gros pavé avant de perdre mon message et au final il se résumait en une question :

    Peut-on utiliser les évènements de manière conditionnelle au sein d'une même macro ?

    Par exemple, est ce que l'on peut faire quelqu'un du genre :
    - QUAND : Double-clic sur une cellule dans la zone ("A1:M50")
    ALORS : Enregistrement de la valeur de la cellule dans une variable
    - SI QUAND l'utilisateur "sort" (déselectionne) de la cellule, la valeur a été supprimé
    ALORS : Enlever la charge de cette tâches à la personne
    - MAIS SI QUAND l'utilisateur sort de la cellule, un nouveau texte a été écrit
    ALORS : Vérifier si le texte correspond à la la liste de nom existante ET augmenter sa charge de travail accumulée

    Re-merci d'avance

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Je te conseille d'aller voir ici :

    http://silkyroad.developpez.com/VBA/EvenementsFeuille/

    Qui t'expliqueront les événements que l'on peut utiliser sur une feuille
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

Discussions similaires

  1. Réponses: 24
    Dernier message: 12/07/2006, 11h11
  2. Mettre en place une sécurité niveau utilisateur
    Par rickar dans le forum Sécurité
    Réponses: 1
    Dernier message: 22/04/2006, 16h23
  3. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

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