[VBA ACCESS] objets introuvables dans Sub
Résolu/Fermé
A voir également:
- [VBA ACCESS] objets introuvables dans Sub
- Site pour vendre des objets d'occasion - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Access appdata - Guide
- Dans la messagerie ci-dessous, envoyez un nouveau message à manon (manon@pixmail.org) en mettant en copie nina (nina@pixmail.org) : objet : colis bonjour, votre colis est arrivé. que répond manon ? ✓ - Forum Loisirs / Divertissements
9 réponses
j'ai une solution même si elle ne me satisfait pas. j'ai transformé ma Sub en Function et rajouté le nom de la Form en argument:
----------------------------------------------------------
pagencours = Form.Name
MiseAuxCouleurs (pagencours)
-----------------------------------------------
Function MiseAuxCouleurs(pagencours)
Dim coul1 As String, coul2 As String, coul3 As String
coul1 = DLookup("[Paramètre]", "Options", "[N°] = 2")
coul2 = DLookup("[Paramètre]", "Options", "[N°] = 3")
coul3 = DLookup("[Paramètre]", "Options", "[N°] = 4")
Forms(pagencours).LblEntete.ForeColor = coul3
Forms(pagencours).EntêteFormulaire.BackColor = coul1
Forms(pagencours).Détail.BackColor = coul2
End Function
--------------------------------------------------------------------------------------
ça ne me satisfait qu'à moitié, il doit bien y avoir un moyen pour que "Forms(pagencours)" soit implicite.
j'ai essayé :
Me..LblEntete.ForeColor = coul3
ou
ActiveForm.LblEntete.ForeColor = coul3
mais sans succès.
je précise que mon appel a la function se trouve dans le form_load
auriez vous une autre solution s'il vous plait?
----------------------------------------------------------
pagencours = Form.Name
MiseAuxCouleurs (pagencours)
-----------------------------------------------
Function MiseAuxCouleurs(pagencours)
Dim coul1 As String, coul2 As String, coul3 As String
coul1 = DLookup("[Paramètre]", "Options", "[N°] = 2")
coul2 = DLookup("[Paramètre]", "Options", "[N°] = 3")
coul3 = DLookup("[Paramètre]", "Options", "[N°] = 4")
Forms(pagencours).LblEntete.ForeColor = coul3
Forms(pagencours).EntêteFormulaire.BackColor = coul1
Forms(pagencours).Détail.BackColor = coul2
End Function
--------------------------------------------------------------------------------------
ça ne me satisfait qu'à moitié, il doit bien y avoir un moyen pour que "Forms(pagencours)" soit implicite.
j'ai essayé :
Me..LblEntete.ForeColor = coul3
ou
ActiveForm.LblEntete.ForeColor = coul3
mais sans succès.
je précise que mon appel a la function se trouve dans le form_load
auriez vous une autre solution s'il vous plait?
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 334
19 juin 2013 à 15:33
19 juin 2013 à 15:33
bonjour,
peut-être n'ai je pas suffisamment mis les formes, cependant il ne me semble pas avoir été incorrect.
je n'exige rien, n'utilise pas l'impératif... et le "Bonjour" y est.
cependant,je prends note de ta remarque et en tiendrai compte à l'avenir.
d'ailleurs, merci d'avance à tous ceux qui répondront où prendront le temps de lire ce sujet.
peut-être n'ai je pas suffisamment mis les formes, cependant il ne me semble pas avoir été incorrect.
je n'exige rien, n'utilise pas l'impératif... et le "Bonjour" y est.
cependant,je prends note de ta remarque et en tiendrai compte à l'avenir.
d'ailleurs, merci d'avance à tous ceux qui répondront où prendront le temps de lire ce sujet.
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
19 juin 2013 à 16:46
19 juin 2013 à 16:46
Bonjour,
si le code est dans un module, mettez le nom du formulaire devant les objets:
form_mom_formulaire.LblEntete.ForeColor = coul3
etc..
bonne suite
si le code est dans un module, mettez le nom du formulaire devant les objets:
form_mom_formulaire.LblEntete.ForeColor = coul3
etc..
bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci pour la réponse.
c'est un peu la solution que j'ai trouvé.
sauf que le but est d'appeler cette function de n'importe quel formulaire pour lui mettre les bonnes couleurs.
donc je ne peux y mettre un nom de formulaire en particulier.
il faudrait que ça s'applique automatiquement aux objets du formulaire en cours de chargement.
c'est un peu la solution que j'ai trouvé.
sauf que le but est d'appeler cette function de n'importe quel formulaire pour lui mettre les bonnes couleurs.
donc je ne peux y mettre un nom de formulaire en particulier.
il faudrait que ça s'applique automatiquement aux objets du formulaire en cours de chargement.
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
19 juin 2013 à 17:46
19 juin 2013 à 17:46
Re,
Application.Screen.ActiveForm ne peut etre utilise que si le formulaire est deja ouvert.
Application.Screen.ActiveForm ne peut etre utilise que si le formulaire est deja ouvert.
bizarrement lorsque j'utilise le code dans mon formulaire:
pagencours = Form.Name
MiseAuxCouleurs (pagencours)
et que je mets entre les 2 une
msgbox pagencours
il me retourne bien le nom du formulaire en train de charger.
alors dans la fonction MiseAuxCouleurs, il doit bien y avoir quelque chose de générique utilisable pour identifier mes objets quels que soit le formulaire en cours.
activeform, current form?
pagencours = Form.Name
MiseAuxCouleurs (pagencours)
et que je mets entre les 2 une
msgbox pagencours
il me retourne bien le nom du formulaire en train de charger.
alors dans la fonction MiseAuxCouleurs, il doit bien y avoir quelque chose de générique utilisable pour identifier mes objets quels que soit le formulaire en cours.
activeform, current form?
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
20 juin 2013 à 19:10
20 juin 2013 à 19:10
Re,
avoir le nom du formulaire dans un code du formulaire (ouverture, chargement) c'est normal, mais le formulaire n'est actif, il l'est a la fin du code.
avoir le nom du formulaire dans un code du formulaire (ouverture, chargement) c'est normal, mais le formulaire n'est actif, il l'est a la fin du code.