Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 00h07   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
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 :
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
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 08h44   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

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

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 16h20   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
Bonjour
Merci de votre aide
J'appelle cette fonction comme source dans un champ de sous formulaire pour avoir la reponse du calcul .
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 16h39   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
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 !
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 15h03   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
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
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 08h39   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
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 :
=CalcPct([champIdArt], [champNbeMois])
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h57   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
Par défaut remerciement

Bonjour
Je vous remercie de votre aide.
Cela fonctionne.
A une autre fois
Guy
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 22h38   #8
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
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
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 15h26   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Quelle ligne ?
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 00h31   #10
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
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
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 00h38   #11
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 103
Points : 39
Points : 39
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
castours est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 13h12   #12
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,
1 seul paramètre dans cet appel !

Code :
=CalcPct([IdArticle]![NbMois])
Il faut être plus rigoureux avec les caractères séparateur de paramètres.

, avec VBA
; en dehors.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h27.


 
 
 
 
Partenaires

Hébergement Web