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 19/05/2011, 15h15   #1
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Par défaut Erreur d'exectution 2448

Bonjour à tous les devellopeurs et devellopeuses,

Je viens de commencer le developpement d'un fomulaire sous Access, mon code est donc très simple. Il est pour l'instant divisé en 2 procédures :

Une première dans le formulaire

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Option Compare Database
Option Explicit
 
 
' Determiner les champs visible de DetailTypeTravaux
Private Sub ListeTypeTravaux_Click()
    ' Mettre tout les choix de detail reseau a false
        Call initDetailTravaux
 
    ' Mettre tout les choix invisible si aucun type selectionne
        If (ListeTypetravaux = " ") Then
        ' Les etiquettes
            EtPoseCanaPlomb.Visible = False
            EtPoseCanaSansPlomb.Visible = False
            EtTrancheOuvExt.Visible = False
            EtTrancheOuvSansExt.Visible = False
            EtAccReseau.Visible = False
            EtPonctuelStruct.Visible = False
            Ettubage.Visible = False
        ' Les options
            OptPoseCanaPlomb.Visible = False
            OptPoseCanaSansPlomb.Visible = False
            OptTrancheOuvExt.Visible = False
            OptTrancheOuvSansExt.Visible = False
            OptAccReseau.Visible = False
            OptPonctuelStruct.Visible = False
            OptTubage.Visible = False
 
    ' Mettre les travaux neuf visible si le type travaux neuf est selectionne
        ElseIf (ListeTypetravaux = "Travaux neuf") Then
        ' Les etiquettes
            EtPoseCanaPlomb.Visible = True
            EtPoseCanaSansPlomb.Visible = True
            EtTrancheOuvExt.Visible = False
            EtTrancheOuvSansExt.Visible = False
            EtAccReseau.Visible = False
            EtPonctuelStruct.Visible = False
            Ettubage.Visible = False
        ' Les options
            OptPoseCanaPlomb.Visible = True
            OptPoseCanaSansPlomb.Visible = True
            OptTrancheOuvExt.Visible = False
            OptTrancheOuvSansExt.Visible = False
            OptAccReseau.Visible = False
            OptPonctuelStruct.Visible = False
            OptTubage.Visible = False
 
    ' Mettre les renouvelements visible si le type renuvelement est selectionne
        ElseIf (ListeTypetravaux = "Travaux neuf") Then
        ' Les etiquettes
            EtPoseCanaPlomb.Visible = False
            EtPoseCanaSansPlomb.Visible = False
            EtTrancheOuvExt.Visible = True
            EtTrancheOuvSansExt.Visible = True
            EtAccReseau.Visible = True
            EtPonctuelStruct.Visible = False
            Ettubage.Visible = False
        ' Les options
            OptPoseCanaPlomb.Visible = False
            OptPoseCanaSansPlomb.Visible = False
            OptTrancheOuvExt.Visible = True
            OptTrancheOuvSansExt.Visible = True
            OptAccReseau.Visible = True
            OptPonctuelStruct.Visible = False
            OptTubage.Visible = False
 
    ' Mettre les rehabiliatation visible si le type rehabilitation est selectionne
        ElseIf (ListeTypetravaux = "Travaux neuf") Then
        ' Les etiquettes
            EtPoseCanaPlomb.Visible = False
            EtPoseCanaSansPlomb.Visible = False
            EtTrancheOuvExt.Visible = False
            EtTrancheOuvSansExt.Visible = False
            EtAccReseau.Visible = False
            EtPonctuelStruct.Visible = True
            Ettubage.Visible = True
        ' Les options
            OptPoseCanaPlomb.Visible = False
            OptPoseCanaSansPlomb.Visible = False
            OptTrancheOuvExt.Visible = False
            OptTrancheOuvSansExt.Visible = False
            OptAccReseau.Visible = False
            OptPonctuelStruct.Visible = True
            OptTubage.Visible = True
        End If
End Sub
et une deuxième dans un module

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Compare Database
Option Explicit
 
' Mettre tout les choix à false
Public Sub initDetailTravaux()
            Form_FormulaireHistRes.OptPoseCanaPlomb.Value = False
            Form_FormulaireHistRes.OptPoseCanaSansPlomb.Value = False
            Form_FormulaireHistRes.OptTrancheOuvExt.Value = False
            Form_FormulaireHistRes.OptTrancheOuvSansExt.Value = False
            Form_FormulaireHistRes.OptAccReseau.Value = False
            Form_FormulaireHistRes.OptPonctuelStruct.Value = False
            Form_FormulaireHistRes.OptTubage.Value = False
End Sub

Quand j'éssaie de tester mon formulaire, ça plante...
Access m'engueule avec l'erreur 2448, disant : impossible d'attribuer une valeur à cet objet...

Pour info, ça plante à la première ligne de initdetailTravaux(), mais je pense que ce sera pareil dans l'autre procédure, car Form_FormulaireHistRes.OptPoseCanaPlomb.Value = False
est la 1ere instruction éxecutée après Call initDetailTravaux.

Merci de me répondre si vous avez la solution à mon problème!
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 19h18   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Si tu as cette erreur :
  • soit le formulaire n'existe pas ou n'est pas ouvert
  • ce formulaire est un sous-formulaire
  • le contrôle n'existe pas
  • le contrôle est verrouillé
  • le contrôle contient une formule de calcul
  • ...?

Cela ne doit pas être difficile à régler, mais il faudrait savoir
  • quels formulaires sont chargés
  • comment sont faits ces formulaires
  • comment la procédure est lancée
  • où sont situées les 2 procédures en question.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 08h28   #3
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Bonjour,

Alors, je n'ai qu'un formulaire. Donc pas de sous formulaire
Le controle existe puisque je peut le rendre visible/invisible
Le controle n'est pas vérouillé (je viens de vérifier dans ses propriété)
Pas de calcul c'est juste un choix

Comment sont fait les formulaire? => je ne comprends pas la question
La procédure est appelée au début d'une autre procédure qui elle, est appelée avec l'evenement change() de la liste du formulaire.
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 11h59   #4
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Je bloque depuis hier, je ne comprends pas pourquoi Access ne veut pas assigner à une Option (bouton à cocher) la valeur False ...
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 12h12   #5
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Tu pourrais essayer
Code :
1
2
3
4
5
6
7
8
9
10
11
Public Sub initDetailTravaux()
With Forms("FormulaireHistRes")
            .OptPoseCanaPlomb.Value = False
            .OptPoseCanaSansPlomb.Value = False
            .OptTrancheOuvExt.Value = False
            .OptTrancheOuvSansExt.Value = False
            .OptAccReseau.Value = False
            .OptPonctuelStruct.Value = False
            .OptTubage.Value = False
end with
End Sub
PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 13h36   #6
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Merci de m'aider !

j'ai essayé mais j'ai exactement la même erreur...
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 14h05   #7
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
J'ai trouvé !!! (laborieux)

J'ai oublié de vous dire que le Option sont dans un cadre (je n'ai vraiment pas pensé que ça avait une influence...)

Il suffit donc de rempacer :

Code :
1
2
3
4
5
6
7
8
9
10
' Mettre tout les choix à false
Public Sub initDetailTravaux()
            Form_FormulaireHistRes.OptPoseCanaPlomb.Value = False
            Form_FormulaireHistRes.OptPoseCanaSansPlomb.Value = False
            Form_FormulaireHistRes.OptTrancheOuvExt.Value = False
            Form_FormulaireHistRes.OptTrancheOuvSansExt.Value = False
            Form_FormulaireHistRes.OptAccReseau.Value = False
            Form_FormulaireHistRes.OptPonctuelStruct.Value = False
            Form_FormulaireHistRes.OptTubage.Value = False
End Sub
par

Code :
1
2
3
4
' Deselectionner tout les choix
Public Sub initDetailTravaux()
            Form_FormulaireHistRes.CadreTravaux.Value = 0
End Sub
Merci encore pour votre aide !
pikameuh 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 19h44.


 
 
 
 
Partenaires

Hébergement Web