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 :

Code pour pour multi-conditions If Then [AC-2000]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut Code pour pour multi-conditions If Then
    Bonjour à tous

    Ma question va vous paraitre peut toute simple mais pas pour moi. J'ai essayé de trouver dans le forum et dans la Faq une possible réponse à mes question.
    Pour faire simple, j'ai un formulaire qui s'appelle FORMSAV et différente cellule:
    - REFAGENT (texte)
    - DATEMAG (Date/heure)
    - DATEDX (DATE/Heure)
    - DIFFRETOUR (Numérique)
    - AVOIR
    - VALEURAVOIR

    Après mise à jour de ma cellule DATEDX j'inscris le code suivant pour calculer la valeur de la cellule DIFFRETOUR (qui le difference entre la date de retour Magasin (DATEMAG date auto) et la date de la commande (inscrite en manuel):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub DATEDX_AfterUpdate()
    Me.DIFFRETOUR = DateDiff("w", DATEDX, DATEMAG, DATEDX)
    End Sub
    Dans ma cellule DIFFRETOUR j'ai donc une valeur en semaine de mon retour de pièce.
    Je voudrais ensuite inscrire quelque chose comme ça dans un premier tant :
    Si REFAGENT n'est pas vide et si DIFFRETOUR < 8
    Alors Me.AVOIR = "Oui" et Me.VALEURAVOIR = "100%"

    Mais je n'y arrive pas. Je sais que je n'en suis pas si loin, alors si quelqu'un peut me donner un petit de main. Merci.

  2. #2
    Membre régulier Avatar de zibi7
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If isnull(REFAGENT)=False and diffretour.value <8 then 
       forms("FORMSAV).controls("AVOIR").value="oui"
       forms("FORMSAV).controls("VALEURAVOIR").value="100%"
    end if
    c'est ça que tu voulais?

    @+

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Salut

    Je te remercie c'est exactement ce que je voulais, merci beaucoup. Ca c'était un condition réduite au plus simple.
    Si j'ai plusieurs conditions (5 ou 6) pour afficher une valeur dans mes deux cellules, est-ce que je dois continuer à écrire sur la première ligne mes differentes conditions en séparant par And chaque condition.
    Merci

  4. #4
    Membre régulier Avatar de zibi7
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    avec plaisir, sinon je sais qu'en php il y a une limitation au nombre de condition (dans les if) mais en vba je ne trouve rien sur le net, a priori ça devrait aller.

    Bonne continuation
    @+

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Autre petite question sur le même projet, comment dois ecrire les signe supérieur et inférieur si je veux que ma Valeur "VALEURAVOIR" soit comprise entre 8 et 12.
    Merci du renseignement.

  6. #6
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Excuse moi j'ai fais une erreur c'est la valeur de DIFFRETOUR qui dois etre compris entre 8 et 12 et égal à 12.
    Merci beaucoup pour ton aide précieuse.

  7. #7
    Membre régulier Avatar de zibi7
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    la syntaxe en vb c'est
    if valeur<X and valeur >Y
    la condition renvoi vrai si elle est remplie.

    @+

  8. #8
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Merci zibi7

    Je n'y avais pas pensé.
    Merci beaucoup pour ton aide

    A bientot peut etre sur le forum.

  9. #9
    Membre régulier Avatar de zibi7
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    re,

    de rien, à bientôt ! et si ton problème est résolu, pense à le mettre!

    @+

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    pour éviter la multiplication des if end if
    voir fonction Select Case.

  11. #11
    Membre régulier Avatar de zibi7
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    si les conditions sont sur des champs différents, c'est possible?

    @+

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonjour,
    Si a chaque fois il y a différents champs, ce n’est effectivement pas la peine.
    Sans plus de détail sur les autres conditions et en se référent au premier post il semble qu’il y a une premiere condition simple : REFAGENT isnull donc vrai ou faux :
    On peut donc commencer par If then else pour celui-la et enchainer s’il y a plusieurs possibilités à l’intérieur pour DIFFRETOUR numérique ont peut utiliser un SELECT CASE, je pense et si j’ai bien compris le problème.

  13. #13
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    Merci pour vos conseils.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/03/2014, 18h03
  2. [XL-2007] Code VBA pour supprimer des lignes sous condition - problème
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2011, 09h09
  3. [AC-2007] Y-at'il un meilleur code pour tester plusieurs conditions ?
    Par tibofo dans le forum VBA Access
    Réponses: 6
    Dernier message: 13/07/2010, 15h21
  4. [VB6] Code source pour modifier MsgBox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/02/2003, 15h13

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