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

IHM Discussion :

Fonction VBA pour access 2003 [AC-2003]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut Fonction VBA pour access 2003
    Bonjour,
    J'essaie d'appliquer cette fonction sur un champ d'un sous formulaire pour que le champ CoéfCharge se remplisse automatiquement.
    Les parties conditionnelles et les resultats peuvent ils etre ecrite en SQL dans le champ en question?
    Les champs utilises sont Vetuste;Franchise;PctMens;QuotePartet CoéfCharge pour le resultat.
    Message erreur Nombre argument incorrect lors du lancement de la fonction.
    Je vous remercie de votre aide.


    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
    33
    Public Function CalcPct(IdArt As Long, Nbmois As Long) As Single
    Dim Vetuste As Long
    Dim Franchise As Long
    Dim PctMens As Single
    Dim QuotePart As Long
    'Dim Nbmois As Long
    Vetuste = DLookup("Vetuste", "Req_LisDégra", "IdArticle = " & IdArt)
    'Vetuste = DLookup("Vetuste", "R_Trouve_Data", "IdArticle = " & IdCat)
    Franchise = DLookup("Franchise", "Req_LisDégra", "IdArticle = " & IdArt)
    'Franchise = DLookup("Franchise", "R_Trouve_Data", "IdArticle = " & IdCat)
    PctMens = DLookup("PctMens", "Req_LisDégra", "IdArticle = " & IdArt)
    'PctMens = DLookup("PctMens", "R_Trouve_Data", "IdArticle = " & IdCat)
    QuotePart = DLookup("QuotePart", "Req_LisDégra", "IdArticle = " & IdArt)
    'QuotePart = DLookup("QuotePart", "R_Trouve_Data", "IdArticle = " & IdCat)
    If Nbmois > Vetuste Then
    CalcPct = QuotePart
    GoTo Fin:
    End If
    If Nbmois < Franchise Then
    CalcPct = 100
    GoTo Fin:
    End If
    CalcPct = 100 - ((Nbmois - Franchise) * PctMens)
     
    'MsgBox Chx_Art.Value
    'MsgBox Chx_Ent.Value
    'MsgBox Chx_Sor.Value
    Nbmois = DateDiff("m", Chx_Ent, Chx_Sor)
    'MsgBox "mois = " & NbMois
    CoèfCharge = CalcPct(Chx_Art.Value, Nbmois) & " %"
    Fin:
     
    End Function

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonjour,

    Vu le message ce serait bien de TOUT fournir ! Notamment la ligne où tu utilises cette fonction.

    Cordialement,

  3. #3
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut
    Bonjour
    Merci de votre aide
    J'appelle cette fonction comme source dans un champ de sous formulaire pour avoir la reponse du calcul .

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Citation Envoyé par castours Voir le message
    Bonjour
    Merci de votre aide
    J'appelle cette fonction comme source dans un champ de sous formulaire pour avoir la reponse du calcul .
    Moi aussi ça m'arrive de lancer des fonctions à partir d'une source...

    N'attend pas qu'on te supplie pour nous la fournir cette ligne !

  5. #5
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut
    Bonjour
    Dans les propriétés du champs comme source, je mets le nom de la fonction. comme ceci =NomFonction().
    Sinon je ne comprends pas votre réponse.
    Merci de votre aide

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Donc

    C'est bien comme cela que tu fais l'appel ?

    Parceque la fonction possède 2 paramètres obligatoires.

    Tu devrais faire l'appel comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CalcPct([champIdArt], [champNbeMois])
    Cordialement,

  7. #7
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut remerciement
    Bonjour
    Je vous remercie de votre aide.
    Cela fonctionne.
    A une autre fois
    Guy

  8. #8
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut Ne fonctionne pas
    Bonjour
    J'ai crié trop vite victoire. Cela ne fonctionne pas.Message d'erreur nombre argument incorrect. Lesquelles dans la fonction?
    Merci de votre aide
    Guy

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Quelle ligne ?

  10. #10
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut fonctionnement
    Bonjour
    J'ai utilisé l'appel de la fonction comme décrit plus haut.
    Mais le resultat obtenu est faux. Je ne sais pas ou cela beug.
    quelqu'un peut il m'aider ou me soumettre une autre solution.
    Je vous remercie de votre aide.
    Guy

  11. #11
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2005
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Avril 2005
    Messages : 164
    Points : 99
    Points
    99
    Par défaut Complément d'informations
    Bonjour
    Vous m'avez repondu sur la question de resultat d'une dans un champ de sous formulaire.J'ai bien un resulat mais il est faut.
    Pouvez vous m'expliquer comment resoudre ce probleme si cela est possible .
    L'appel de la fonction est faite de cette maniere =CalcPct([IdArticle]![NbMois])
    J'ai intégré les elements de cette base dans mon projet.
    http://www.cijoint.fr/cjlink.php?fil...cijtauww7z.zip

    C'est le resultat de la MsgBox que je voudrai afficher dans un champ de formulaire
    Merci de votre aide

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonjour,
    1 seul paramètre dans cet appel !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CalcPct([IdArticle]![NbMois])
    Il faut être plus rigoureux avec les caractères séparateur de paramètres.

    , avec VBA
    ; en dehors.

    Cordialement,

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/02/2009, 15h40
  2. Menu dynamique en VBA pour Access 2003
    Par petitbison dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/04/2008, 14h22
  3. livre vba pour access
    Par Destiny dans le forum Access
    Réponses: 4
    Dernier message: 08/01/2007, 13h18
  4. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  5. Réponses: 3
    Dernier message: 06/09/2005, 10h27

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