Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 16/11/2010, 12h35   #1
Invité de passage
 
Inscription : septembre 2002
Messages : 17
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 17
Points : 2
Points : 2
Par défaut Function et variable.

Bonjour à tous,

J'ai un code qui établie un récapitulatif présence dans plusieurs de mes formulaire. Pour le moment j'ai copié ce code autant de fois que j'ai de formulaire (7 fois) pour que ca fonctionne.

N'est-il pas possible de creer une fonction dans un module type :
Code :
1
2
 
Private Function Récapitulatif()
et que je puis l'appeler depuis chacun de mes formualaire plutot que de taper 7 fois le même code ?
Je sais que c'est possible mais je ne sais pas comment d'autant plus qu'il y a une variable (un nombre) à transporter de chaque formulaire vers la fonction.

Il me semble que ca ressemblerait à quelque chose comme ca

dans chauqe formulaire :
Code :
1
2
 
Récapitulatif (NuméroAgent as long)
et dans un module

Code :
1
2
 
Private Function Récapitulatif(NuméroAgent)
Pour que le numéro suive dans la fonction.

C'est surement très simple mais je n'y arrive pas...

D'avance merci
flandreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 12h40   #2
Membre chevronné
 
Avatar de alassanediakite
 
Homme Alassane Diakité
Conseil - Consultant en systèmes d'information
Inscription : août 2006
Messages : 536
Détails du profil
Informations personnelles :
Nom : Homme Alassane Diakité
Âge : 34
Localisation : Mali

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information

Informations forums :
Inscription : août 2006
Messages : 536
Points : 601
Points : 601
Envoyer un message via Yahoo à alassanediakite
Salut
Peut-on voir une des ces 7 fonctions?
@+
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard…
alassanediakite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2010, 13h07   #3
Invité de passage
 
Inscription : septembre 2002
Messages : 17
Détails du profil
Informations forums :
Inscription : septembre 2002
Messages : 17
Points : 2
Points : 2
Ca ressemble à ca :

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
34
35
36
37
38
39
40
41
 
Private Sub VerifCongès()
 
Dim Mat As Long, NbC As Long, CdWhere As String, An As String, SQL As String, Cible As String
 
'Comptage congès année en cours
 
An = Right(Forms!Accueil!TAn, 2)
An = "C" & An
Mat = Me!Matricule
 
CdWhere = "[Matricule]= " & Mat & " And [Statut]= '" & An & "'"
NbC = DCount("[Matricule]", "Présences", CdWhere)
 
Forms!Accueil!Texte24 = Mat
Forms!Accueil!Texte26 = Me!Nom
Forms!Accueil!Texte37 = NbC
Cible = "Congès " & Forms!Accueil!TAn
Forms![Accueil]![Eti38].Caption = Cible
 
'Comptage 1/2 journée congès année en cours
 
An = Right(Forms!Accueil!TAn, 2)
An = "CD" & An
Mat = Me!Matricule
 
CdWhere = "[Matricule]= " & Mat & " And [Statut]= '" & An & "'"
NbC = DCount("[Matricule]", "Présences", CdWhere)
 
Forms!Accueil!Texte44 = NbC / 2
Cible = "1/2 journée " & Forms!Accueil!TAn
Forms![Accueil]![Eti45].Caption = Cible
 
NbC = Forms!Accueil!Texte46
 
If NbC > 32.5 Then
MsgBox ("Le nombre jours de congès autorisé est dépassé !")
End If
 
 
End Sub
J'ai résumé un peu mais voici le code présent dans chaque formulaire, certaines action dans ces formulaires font appel a ce code, quand on met a jour une données ou quand certaines case perdent le focus.

je souhaite allégé mon code, faire une fonction général pour tous les formualaires mais ca implique qu'un certains nombre de données suivent comme le matricule, le nom...

Une idée ?
flandreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h28.


 
 
 
 
Partenaires

Hébergement Web