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 :

Langage VBA : Plusieurs conditions "SI"


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2017
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Langage VBA : Plusieurs conditions "SI"
    Bonjour,

    Je suis ce que l'on pourrais appelé un null en langage VBA pourtant il faut bien que je m'y mette car cela deviens tres bloquant.

    Dans le cadre de mon activité professionnelle, je me suis fait une base de donnée pour suivre et traiter les demandes clients et a terme j'aimerais en sortir un plan de charge...

    Ma problématique actuelle consiste a fixer le statut d'un enregistrement "Statut_Offre" en fonction de différentes situations de différents champs que j'ai tenter de vous expliquer dans le fichier exel joint Statuts_Enregistrements.xlsx

    Sur la base du statut de chaque fiche j'envisage évidement de faire mes tris et mes requêtes... help me!!

    merci à tous de vos retours

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Regarde ici : http://warin.developpez.com/access/contraintes/


    Je suis ce que l'on pourrait appeler un nul en langage VBA pourtant il faut bien que je m'y mette, car cela devient très bloquant.
    Le VBA va te permettre de décupler tes possibilités. Ce n'est pas bien compliqué : juste du mauvais anglais...

    Pour te mettre le pied à l'étrier : http://heureuxoli.developpez.com/office/word/vba-all/
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Note que tu n'as pas obligatoirement besoin de VBA pour des assignations d'état.
    Tu peux aussi utiliser des requêtes de mise à jour avec des champs calculés.

    Pour décider en SQL tu as essentiellement iif(Condition; ValeurVrai; ValeurFausse). Tu as aussi Switch(Condition1; ValeurVraie1; Condition2; ValeurVraie2, ...).
    On peut faire des iif() dans les iif() mais cela devient un peu mêlant quand on dépasse 2 niveaux.

    En vba tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if condition then actionVraie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if condition then 
         actionVraie
    end if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if condition then 
         actionVraie
       else
         actionFausse
    end if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if condition1 then 
          actionVraie1
    elseif condition2 then
          actionVraie2
      else
          actionFausse2
    end if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    select case uneValeur
        case UneValeur '=UneValeur
            actionSiEgale
     
        case is >= UneValeur '>=UneValeur on peut aussi tester >
            actionSiSupéreureOuEgal
     
        case is <= UneValeur '<=UneValeur
            actionSiInferieuOuEgal
     
        case UneValeur1 to uneValeur2 'entre valeur1 et valeur2
             actionSiComprisEntre
     
        case else 'Tout autre cas
              actionAutre      
     
    end select
    Les valeurs peuvent être des constantes (ex : 4) ou des variables ou le résultat d'un calcul aussi bien dans le Select que dans les Case.
    C'est très puissant pour représenter clairement des logiques complexes.

    et tu as aussi iif() en VBA.

    Attention dans un iif() les 2 termes valeurVraieet valeurFaussesont évaluées indépendamment de la valeur du test puis Access ne garde qu'une des 2 valeurs.
    Cela peut être gênant si tes évaluations font aussi des modifications aux données (ce qu'on appelle un effet de bord, ce qui doit être manipuler TRÈS prudemment car cela peut surprendre l'humain qui lit ton code.).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2017
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci! je vais pouvoir regarder çà de près... a pluche

Discussions similaires

  1. [XL-2010] VBA plusieurs conditions IF
    Par nacereddine.mourad dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2016, 16h56
  2. Réponses: 20
    Dernier message: 01/04/2013, 18h40
  3. VBA Excel 2003 Copier ligne sous plusieurs conditions
    Par Harreauv dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/01/2013, 18h40
  4. [XL-2003] Création de Boucles VBA avec plusieurs Conditions
    Par MatMout dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/07/2010, 10h31
  5. Réponses: 2
    Dernier message: 28/05/2009, 15h44

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