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 :

calcul en VBA


Sujet :

VBA Access

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut calcul en VBA
    je souhaite réaliser un calcul dans une zone de texte dans la propriété de cette zone de texte dans source contrôle j'ai mis sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Round(VraiFaux([NUM_TYPE_RATIO]=1;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SHOB];VraiFaux([NUM_TYPE_RATIO]=2;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SHAB];VraiFaux([NUM_TYPE_RATIO]=3;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_COUVERTURE];VraiFaux([NUM_TYPE_RATIO]=4;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_VRD];VraiFaux([NUM_TYPE_RATIO]=5;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[NB_LOGEMENT];VraiFaux([NUM_TYPE_RATIO]=6;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[NB_PACK_SS];VraiFaux([NUM_TYPE_RATIO]=7;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[NB_PACK_EXT];VraiFaux([NUM_TYPE_RATIO]=8;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[NB_PACK_COUV];VraiFaux([NUM_TYPE_RATIO]=9;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_ETANCHEE_INACE];VraiFaux([NUM_TYPE_RATIO]=10;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_ETANCHEE_ACCECI];VraiFaux([NUM_TYPE_RATIO]=11;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_ETANCHEE_VEGETA];VraiFaux([NUM_TYPE_RATIO]=12;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[SURF_PLANTEE];VraiFaux([NUM_TYPE_RATIO]=13;[MONT_RATIO_MARCHE_SIGNE_ESTIM]*[METRE_1];0)))))))))))))*[Formulaires]![estimation d une new operation]![Periode_ESTIM]/[INDICE];2)

    sa marche bien mais on est limité en quantité de condition car apres il me marque trop compléxe.

    Donc je voudrai convertir ma formule en VBA comment faire?? qui peux m'aide?


    ps: je ne connai pas trop le vba encore c pour sa que je vien demande une petite aide pour commence

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Vu ton code, j'essaierai bien avec une instruction SELECT ... CASE.
    Regarde dans l'aide et sur le forum il y'a des exemples.
    Essaye de le faire, c'est trés simple.
    Si tu as des soucis reviens avec le code.

    Starec

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    ok merci j'ai fait :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub MONT_RATIO_MARCHE_SIGNE_ESTIM_AfterUpdate()
    Select Case Me.[NUM_TYPE_RATIO]
            Case 1
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SHOB] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 2
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SHAB] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 3
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_COUVERTURE] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 4
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_VRD] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 5
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [Nb_LOGEMENT] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 6
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [NB_PACK_SS] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 7
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [NB_PACK_EXT] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 8
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [NB_PACK_COUV] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 9
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_ETANCHEE_INACE] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 10
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_ETANCHEE_ACCECI] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 11
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_ETANCHEE_VEGETA] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 12
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SURF_PLANTEE] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case 13
            Me.[MONT_ESTIM] = ([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [METRE_1] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE])
            Case Else
            Me.[MONT_RATIO_MARCHE_SIGNE_ESTIM] = 0#
     
            End Select
    sa marche super bien je souhaite maintenant ajoute la fonction Round(calcul;2)
    comment faire...?

    j'ai un peu probleme je veux que les calculs ce face même ci [Forms]![estimation d une new operation]![Periode_ESTIM] est egale a vide comment faire???

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par popofpopof Voir le message
    sa marche super bien je souhaite maintenant ajoute la fonction Round(calcul;2)
    comment faire...?
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.[MONT_ESTIM] = Round(([MONT_RATIO_MARCHE_SIGNE_ESTIM] * [SHOB] * [Forms]![estimation d une new operation]![Periode_ESTIM] / [INDICE]),2)
    j'ai un peu probleme je veux que les calculs ce face même ci [Forms]![estimation d une new operation]![Periode_ESTIM] est egale a vide comment faire???
    Regarde du coté de la fonction NZ.

    Starec

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    je ne trouve pas et comprend pas comment uiliser la fonction NZ

    j'ai crée un autre forum sur le même sujet avec j'ai poste ma base tu peux alle voir et me m explique la procedure?

    http://www.developpez.net/forums/sho...d.php?t=397138

Discussions similaires

  1. Formule de calcul en VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/11/2008, 11h39
  2. [VBA-E] Calcul fonction VBA-excel
    Par I folima Elda dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2008, 20h39
  3. Champs calculés en VBA
    Par Lorenzogazier dans le forum IHM
    Réponses: 2
    Dernier message: 08/02/2008, 09h58
  4. Pb Automatisation calcul "function" vba
    Par alexbabey dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/01/2008, 10h28
  5. Réponses: 3
    Dernier message: 23/01/2006, 10h10

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