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

VBA Access Discussion :

Pénalité automatique en fonction de la date


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Pénalité automatique en fonction de la date
    Bonjour,

    Je travaille sur une base de données "Gestion des activités liés aux secteurs des hydrocarbures", ça arrive souvent qu'un importateur des hydrocarbures demande l'autorisation pour consommer sa quantité du stock de sécurité, et si après 7 jours le stock est toujours en rupture l'opérateur sera automatiquement pénalisé d'une amende.

    Une idée svp comment je peux créer un formulaire qui gère les demandes d'autorisation de consommation du stock et qui accorde automatiquement une pénalité en cas de dépassement des délais, sachant que l'amende est calculée ! comment je peux procéder ??

    J'espère avoir été explicite

    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Quel est ton degré de connaissance d'Access ?

    A+

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Bonjour marot_r,

    ça fait 6 mois que j'ai commencé à travailler avec Access, je maîtrise parfaitement tout ce qui est fonctionnalités prédéfinies (Formulaires, sous-formulaires, états et requêtes simples) avec un peut de SQL. Je suis débutant en VBA mais des fois je réussi à faire fonctionner un code sans pourtant le comprendre

    Merci !

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 704
    Points : 43 781
    Points
    43 781
    Par défaut
    Comment connais tu le stock ? tu le gère pour eux ? il te disent juste je tape dans mon stock de réserve ?

    Cela dépend de comment sont structurés tes données.

    Si tu as une liste de toutes les entrées/sorties de stock, il te faut le stock au jour le jour. De là tu élimines les éléments qui ne sont pas hors seuil. Il va te rester un listing des jours ou ton seuil n'est pas bon. Un calcul d'écart entre 2 dates te donnera le nombre de jours, idem tu élimines les éléments dont l'écart est inférieur à 7 jours. Il te reste à calculer ta pénalité selon les critères.

    Si tu donnes un exemple, je peux t'aider, il me faut la structure des tables et quelques exemples.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Bon alors je ferai :

    Table MouvementProduit
    NumSequenceMouvementProduit (clef primiare, autonum)
    ClefImportateur
    ClefProduit
    DateMouvementProduit
    QteMouvementProduit
    TypeMouvementProduit (entrée/sortie)

    Le stock courrant est la somme de tous les mouvements de stock du produit jusqu'à la date données.

    Table Importateur
    ClefImporteur (clef primaire, autonum)
    CodeImportateur (Texte)
    Autres infos

    Table Produit
    ClefProduit (clef primaire, autonum)
    CodeProduit (texte)
    Autres infos

    Table ProduitImportateurStockMin
    ClefProduit
    ClefImportateur
    QteStockMin

    Je ne précise pas les relations car elles me semblent assez directes.

    Pour calculer les amendes, il faut calculer depuis combien de jour le stock est en dessous du minimum en se basant sur la table des mouvements.

    A+

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Merci chrtophe et marot_r pour votre disponibilité,

    J'ai honte de vous parler de la manière dont j'ai structuré mes données, pour gérer les opérations d'importation j'ai créé une seule table qui contient :
    - Nom de l'importateur
    - Date du mouvement
    - Quantité entrée (* 4 produits, c'est à dire QE-Essence, QE-Gasoil...)
    - quantité sortie (* 4 produits)
    - ....
    Et là je commence à comprendre que c'est catastrophique de point de vue performance, pouvez vous marot_r m'aider à employer la structure dont vous m'avez proposer en me précisant les relations entre les tables ?? Je suis faible en base de données relationnelles et je dois tout d'abord corriger le schéma structural avant de passer au calcul.

    Merci

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Pas de houte a avoir, tu as fait une structure à la Excel ce qui est courant lorsqu'on commence avec Access.

    Table MouvementProduit
    NumSequenceMouvementProduit (clef primiare, autonum)
    ClefImportateur
    ClefProduit
    DateMouvementProduit
    QteMouvementProduit
    TypeMouvementProduit (entrée/sortie)

    En relation avec Importateur sur ClefImportateur
    En relation avec Produit sur ClefProduit.

    Le stock courrant est la somme de tous les mouvements de stock du produit jusqu'à la date données.

    Table Importateur
    ClefImporteur (clef primaire, autonum)
    CodeImportateur (Texte)
    Autres infos

    Table Produit
    ClefProduit (clef primaire, autonum)
    CodeProduit (texte)
    Autres infos

    Table ProduitImportateurStockMin
    ClefProduit
    ClefImportateur
    QteStockMin

    En relation avec Importateur sur ClefImportateur
    En relation avec Produit sur ClefProduit.

    Quand tu crées ta relation part de la table de référence (ici Produit ou Importateur) et vas vers la table référente (ici : MouvementProduit et ProduitImportateurStockMin). En interne cela crée la relation "dans le bon sens". Note que cela n'est pas très grâve si tu le fais dans l'autre sens non plus c'est juste si tu veux parcourrir la collection des relations par code que cela simplifie la vie ... mais c'est assez avancé comme sujet :-).

    A+

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Bonjour marot_r,

    J'attendais votre réponse et j'attendais aussi à ce qu'on m'envoi un document (fichier excel) qui m'explique d'avantage les modalités de calcul du stock et des pénalités, maintenant tout est clair pour ce qui est des relations entre les tables mais il reste seulement à revoir la table "ProduitImportateurStockMin" car en fait il n'y a pas de stock minimal, je vous explique comment se fait le calcul :

    - Le stock de sécurité contractuel (théorique) = (somme des quantités sorties pendant les 3 derniers mois * 10/90 )
    - le stock de sécurité journalier : c'est le stock de sécurité réel mesuré dans les dépôts de l'importateur
    - la dérogation : c'est la partie consommée du stock, et elle est équivalente à la différence entre le S.S contractuel et le S.S journalier

    Par la suite l'amende de la pénalité sera calculée comme suit:

    Amende = (Dérogation à partir du 11 ème jours) * Différentiel * 0.2
    Le différentiel de l'importateur est définit par le cahier de charge (en $ par tonne )

    L'amende est multipliée par le nombre de jours ou le stock de sécurité journalier est en rupture, sachant aussi que l'importateur peut faire une 2 ème dérogation du stock avant que la 1 ère quantité consommée sera remise. Maintenant avant de passer au calcul, comment je peux organiser les données relatives au stock ??
    Je vous joint un fichier Excel contenant un exemple de calcul

    Merci de votre aide
    Fichiers attachés Fichiers attachés

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Il va falloir revoir les tables, désolé. Mais avant j'ai des questions :-).

    Le différentiel de l'importateur est définit par le cahier de charge (en $ par tonne )
    • Est-ce que tu as un différentiel par importateur ?
    • ou est-ce que tu as un différentiel par importateur et par produit ?


    Si je te suis bien, tu n'as pas besoin des entrées de produits, seulement des sorties et du stock de sécurité journalier mesuré au jour le jour pour chaque importateur et chaque produit. C'est bien cela ?

    Donc le début d'une dérogation c'est un moment où Stock de sécurité journalier mesuré < Stock de sécurité théorique. Est-ce qu'il faut gardrer trace de la demande de dérogation ou elle est simplement constatée ?

    La fin d'une dérogation, c'est quand Stock de sécurité journalie mesuré >= Stock de sécurité théorique. C'est bien cela ?

    Si Fin - Début dérogation < 11j alors il n'y a pas d'amende, correct ?

    Idées :
    • Toujours calculer une amende et soustraire 11j. Si le résultat < 0, alors mettre 0 c-à-d qu'il n'y a pas d'amende.
    • Faire une champs calculé dans la table pour chacun des Stock de sécurité journalier mesuré, qui calcule le stock Stock de sécurité théorique. Ce sera peut-être plus perfomant qu'une requête ou ne fonction.


    Que faire si l'historique de sortie comporte moins de 3 mois ? On fait un prorata avec les données disponibles ?

    Quels sont tes volumes ? Nombre de produits ? Nombre d'importateurs ? Années d'historique conservées ? Nombres de sorties ?

    A+

Discussions similaires

  1. [XL-2010] Import automatique feuille Excel dans un autre classeur en fonction de sa date
    Par Alasgard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2014, 23h18
  2. [AC-2010] Mailing Automatique en fonction de la date
    Par FishAndChips dans le forum VBA Access
    Réponses: 10
    Dernier message: 11/09/2012, 16h44
  3. Envoie mail automatique en fonction d'une date
    Par ju3979 dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 29/06/2009, 14h07
  4. [Utile]Rajout automatique dans input et verif date
    Par matpal dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/11/2004, 16h36
  5. Trier les enregistrements en fonction de la date
    Par mpereg dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 12/09/2004, 14h16

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