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 :

[Calculs VBA] Test de condition sous VBA


Sujet :

VBA Access

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    consultant environnement et développement d'applications de base de données
    Inscrit en
    Janvier 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : consultant environnement et développement d'applications de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2006
    Messages : 336
    Par défaut [Calculs VBA] Test de condition sous VBA
    Bonjour
    Dans le cadre de la conception d'un outil de calcul d'indicateurs, j'ai un problème de...calcul justement (ça tombe mal !) mais qui vient peut être d'un pb plus global de conception...
    J'essaye de m'expliquer pour voir si la haute communauté accessienne peut me venir en aide !

    Pour un indicateur donné (I01 ou I02 par ex), je définis des règles de calcul du type :
    si la réponse à la question Q01 est supérieure à 10 alors la note de l'indicateur est de 3, si elle est comprise entre 5 et 10,alors la note est de 2 et inférieure à 5, elle est de 1.
    Ce que j'écris dans une table tabRegle
    id_indicateur = I01 / condition = [Q01] >= 10 / note= 3
    id_indicateur = I01 / condition = [Q01] < 10 et [Q01] >= 5 / note= 2
    id_indicateur = I01 / condition = [Q01] <= 5 / note= 1

    où condition est un texte et [Q01] est ("sensé" !) me renvoyer la réponse donnée à la question Q01.

    Dans certains cas, je peux utiliser la valeur de la réponse à la question dans le
    calcul de la note, comme :
    id_indicateur = I02 / condition = ([Q02] + [Q03]) <= 5 / note= [Q02] + [Q03]

    Ensuite, j'ai une table des réponses tabReponse qui comprend les...réponses aux questions :
    id_question= Q01 / reponse = 7
    id_question= Q02 / reponse = 2
    id_question= Q03 / reponse = 1

    Vou l'aurez compris je pense, je souhaite alors remplir une table des résultats tabResultat avec le calcul pour chaque indicateur en fonction de la réponse donnée...du type :
    id_indicateur = I01 / resultat = 2
    id_indicateur = I02 / resultat = 3

    Voilà les données du problème, j'ai essayé de passer par des recordsets mais je bute sur le remplacement de mon identifiant question [Q01] par la valeur de la réponses donnée (en l'occurence 7) puis dans le test ensuite si la condition est vrai ou pas...

    Avez-vous une idée oh grands maîtres du VBA ? Je joins un mdb à ce post avec les différentes tables utilisées mais sans la fonction VBA qui le ferait bien...
    Merci par avance

    Guen
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Excel VBA] Faire une condition sous Excel
    Par ANTMA dans le forum Excel
    Réponses: 3
    Dernier message: 03/08/2007, 11h20
  2. [VBA-E]Fonction Racine sous VBA
    Par vuong1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2007, 00h48
  3. [VBA-E] Copier coller sous conditions de couleur
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/04/2007, 18h27
  4. [VBA-E]feuille créée sous condition
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2006, 15h11
  5. (VBA-A] Requete access sous VBA
    Par vanima dans le forum VBA Access
    Réponses: 12
    Dernier message: 20/07/2004, 16h07

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