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

Macros Access Discussion :

Je n'arrive pas à refaire ma fonction de calcul excel dans access CDT (fichier en .mdb)


Sujet :

Macros Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Je n'arrive pas à refaire ma fonction de calcul excel dans access CDT (fichier en .mdb)
    Bonjours à tous voila ci-joint vous avez la feuille de calcul excel avec un exemple de ce que donne les calculs, ensuite il y a l'importation de cette feuille excel en table access (enregistré en .mdb pour les version d'access precedente) mais je ne sais pas comment faire pour que les calculs fonctionnent.

    Les calculs excel car peut etre que vous n'avez pas besoin des fichiers ci-joint.

    =SI(P2="P";0;ARRONDI.SUP(SI(J2="TRIMESTRIELLE";(JOURS360(I2;Q$2)/90);JOURS360(I2;Q$2)/30);0)).

    Par exemple en expression litteral ca veux dire:
    SI la cellule P2 contient la lettre P alors écrire 0 dans B2 SINON arrondir au superieur la fonction SI la cellule J2 contient TRIMESTRIELLE alors faire la difference de jour qui on passé entre la date contenus dans la cellule I2 et Q$2 puis diviser le tout par 90 SINON (c'est à dire si J2 est different de TRIMESTRIELLE) alors faire la difference de jour qui on passé entre la date contenus dans la cellule I2 et Q$2 puis diviser le tout par 30 et si aucune des regles n'est respecter alors ecrire 0 dans la cellule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PS: Q$2= date du jour
          R$2= 7% soit 0.07


    =SI(SI(P2="P";"";A2-B2)<0;0;SI(P2="2";"";A2-B2))

    =SI(P2="P";0;D2*L2)

    =SI(P2="P";0;D2*(L2+M2))

    =SI(D2=0;0;SI(P2="P";0;SI(J2="Mensuelle";VA(R$2/12;D2;-(L2+M2);-15;1);VA(R$2/4;D2;-(L2+M2);-15;1))))

    =SI(D2=0;0;SI(P2="P";0;SI(J2="Mensuelle";VA(R$2/12;D2+C2;-(L2);-15;1);VA(R$2/4;D2+C2;-(L2);-15;1))))
    CDT et merci d'avoir lu, essayé ou non de répondre à mon problème.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Je conseillerais de mettre les résultats dans un champ de requête au lieu d'un champ calculé dans une table (c'est une possibilité dans les nouvelles versions d'Access, mais bon...).

    Ainsi, la première formule
    =SI(P2="P";0;ARRONDI.SUP(SI(J2="TRIMESTRIELLE";(JOURS360(I2;Q$2)/90);JOURS360(I2;Q$2)/30);0)).
    avec les paramètres de correspondance des champs suivants
    P2 = [DATE DERNIER LOYER]
    J2 = [PERIODICITE]
    I2 = [Prise Effet]
    Q2 = Date() : Date du jour

    donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = IIF([DATE DERNIER LOYER]="P";0;MyRound(IIF([PERIODICITE]="TRIMESTRIELLE";DateEcart([Prise Effet];Date())/90;DateEcart([Prise Effet];Date())/30);0))
    avec les références pour les fonctions MyRound ici qui remplace la fonction Arrondi.Sup d'Excel, ainsi que la fonction DateEcart expliquée ici en lieu et place de JOURS360.

    La fonction SI sous Excel est remplacée par IIF sous Access.

    J'espère que cela vous permettra de transformer les autres formules.

    Cordialement,

    EDIT 1 : la deuxième formule :
    =SI(SI(P2="P";"";A2-B2)<0;0;SI(P2="2";"";A2-B2)).
    A2 = [nb échéances contrat]
    B2 = [nb echeances ecoulées]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = IIF(IIF([DATE DERNIER LOYER]="P";"";[nb échéances contrat]-[nb echeances ecoulées])<0;0;IIF([DATE DERNIER LOYER]="2";"";[nb échéances contrat]-[nb echeances ecoulées]))
    - la troisième formule :
    =SI(P2="P";0;D2*L2).
    D2 = [Nb echeances restantes]
    L2 = [Loyer]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = IIF([DATE DERNIER LOYER]="P";0;[Nb echeances restantes]*[Loyer])
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Merci beaucoup
    je poste toute les formules des demain qui sais cela aidera peut etre quelqu'un en tous cas Merci encore

Discussions similaires

  1. [PHPExcel] Je n'arrive pas à le faire fonctioner !
    Par litox dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 27/07/2011, 21h14
  2. je n'arrive pas à refaire mon systeme
    Par kolle63 dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 23/03/2011, 10h31
  3. Réponses: 1
    Dernier message: 13/01/2010, 09h53
  4. Je n'arrive pas à joindre une fonction js
    Par beegees dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 12/03/2009, 15h09
  5. Equivalent de la fonction STXT d'Excel dans Access
    Par gme69 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/05/2007, 08h51

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