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 07/02/2011, 16h45   #1
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Par défaut Case à cocher visible suivant critère

Bonjour,

Dans ma fiche client, j'ai un champ qui détermine le nombre de visite annuelle (liste déroulante T-Typecontrat).
J'ai également des cases à cocher V1, V2, V3, V4, V5 et V6 que je coche au fur et à mesure que la fiche de visite est créée. Ces cases ont été créées dans la T-Client au format oui/non

J'aimerais savoir s'il est possible de masquer les cases à cocher suivant le nombre de visite. C'est à dire si mon client à 2 visites par an, j'aimerais que seulement les cases V1 et V2 apparaissent.

Est-ce possible ? peut-être en VAB ?

Merci pour vos infos
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 16h58   #2
Rédacteur/Modérateur
 
Avatar de GAYOT
 
Homme Jean-Damien GAYOT
Inscription : novembre 2004
Messages : 2 071
Détails du profil
Informations personnelles :
Nom : Homme Jean-Damien GAYOT
Âge : 56
Localisation : France, Meuse (Lorraine)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : novembre 2004
Messages : 2 071
Points : 4 385
Points : 4 385
Envoyer un message via Skype™ à GAYOT
Bonjour
C'est possible
Pour faire simple par exemple sur l'évènement "après mise à jour" de ton champ visite:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub NomControleVisite_AfterUpdate()
With Me
  Select Case .NomControleVisite.Value
    Case Is = 1
      .CaseACocher1.Visible = True
      .CaseACocher2.Visible = False
      .CaseACocher3.Visible = False
      .CaseACocher4.Visible = False
   Case  Is = 2
      .CaseACocher1.Visible = True
      .CaseACocher2.Visible = True
      .CaseACocher3.Visible = False
      .CaseACocher4.Visible = False
     .......
     .......
   End Select
 End With
End Sub
__________________
Plus j'avance et plus j'ai l'impression de ne rien savoir. Et comme j'essaie d'aller loin..!!.

Tutoriels sur:http://jdgayot.developpez.com

Pas de sujets techniques par Mp. Sinon
GAYOT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 11h53   #3
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Bonjour Gayot,

Je vois bien l'idée. Donc j'ai adapté votre proposition à mes nom de champ et de case a cocher, ça donne :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub C_TypeContrat_AfterUpdate()
With Me
  Select Case .TypeContrat.Value
    Case Is = 1
      .C-V1.Visible = True
      .C-V2.Visible = False
      .C-V3.Visible = False
      .C-V4.Visible = False
   Case  Is = 2
      .C-V1.Visible = True
      .C-V2.Visible = True
      .C-V3.Visible = False
      .C-V4.Visible = False
   End Select
 End With
End Sub
mais çà ne fonctionne pas, le programme affiche "Erreur de compilation : Mode de méthode ou de données introuvables". Il surligne en jaune la ligne "Private sub..." et grise ".TypeContrat"

Où ai-je fait une erreur ?

Cordialement,
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 12h19   #4
Rédacteur/Modérateur
 
Avatar de GAYOT
 
Homme Jean-Damien GAYOT
Inscription : novembre 2004
Messages : 2 071
Détails du profil
Informations personnelles :
Nom : Homme Jean-Damien GAYOT
Âge : 56
Localisation : France, Meuse (Lorraine)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : novembre 2004
Messages : 2 071
Points : 4 385
Points : 4 385
Envoyer un message via Skype™ à GAYOT
Si ta zone s'appelle C_TypeContrat, il faut mettre
Code :
1
2
3
4
5
6
Private Sub C_TypeContrat_AfterUpdate()
With Me
  Select Case .C_TypeContrat.Value
    Case Is = 1
      .C-V1.Visible = True
      .....
__________________
Plus j'avance et plus j'ai l'impression de ne rien savoir. Et comme j'essaie d'aller loin..!!.

Tutoriels sur:http://jdgayot.developpez.com

Pas de sujets techniques par Mp. Sinon
GAYOT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h54   #5
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
ça ne fonctionne pas non plus, cette fois le programme grise dans la phrase "Select Case .C - TypeContrat.Value" le ".C" en plus de surligner en jaune "Private sub..."
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 16h18   #6
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Pourquoi ne pas récupérer la valeur du test dans un autre champs et mettre
le test sur ce champs comme ça la procédure à mettre en code est plus simple.
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 08h56   #7
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Bonjour,

J'ai trouvé un code sur la base de votre exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form_Current()
 
Select Case Me.C_TypeContrat
    Case "1"
    Me.C_V1.Visible = True
    Me.C_V2.Visible = False
    Me.C_V3.Visible = False
    Me.C_V4.Visible = False
    Me.C_V5.Visible = False
    Me.C_V6.Visible = False
    Case "2"
    Me.C_V1.Visible = True
    Me.C_V2.Visible = True
    Me.C_V3.Visible = False
    Me.C_V4.Visible = False
    Me.C_V5.Visible = False
    Me.C_V6.Visible = False
 
End Select
End Sub
Donc dans mes fiches clients n'apparaissent que les cases à cocher correspondantes au nombre de visite (je l'ai mis dans le formulaire sur évènement "sur activation").

J'ai un formulaire récapitulatif qui liste ces clients sous contrats et qui fait apparaitre: nom; adresse; Nombre de visite et case à cocher.
J'ai utilisé ce même code pour ne voir apparaître que les cases à cocher correspondantes au nombre de visite, je l'ai mis dans le formulaire sur évènement "sur ouverture"et j'ai essayé aussi "sur activation" et le résultat est identique, ça n'affiche que la première case à cocher.

Sauriez-vous me dire pourquoi ?

Merci pour vos réponses
maringot 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 07h37.


 
 
 
 
Partenaires

Hébergement Web