OVH Cloud OVH Cloud

Cacher plusieurs champs d'un formulaire

8 réponses
Avatar
yves
Aprés l'ouverture d'un formulaire je souhaite forcer l'utilisateur à
sélectionner soit la case à cocher C1 ou C2 ou C3 permettant d'afficher sur
l'ensemble des 25 champs du formulaire
C1 : Les 25 champs
C2 : que 18 champs
C3 : que 15 champs
En faite je veux en cacher certains en fonctions de la case à cocher
merci
YVES

8 réponses

Avatar
3stone
Salut,

"yves"
| Aprés l'ouverture d'un formulaire je souhaite forcer l'utilisateur à
| sélectionner soit la case à cocher C1 ou C2 ou C3 permettant d'afficher sur
| l'ensemble des 25 champs du formulaire
| C1 : Les 25 champs
| C2 : que 18 champs
| C3 : que 15 champs
| En faite je veux en cacher certains en fonctions de la case à cocher


Je peux me tromper, mais ce genre de besoin apparait plus souvent
dans une organisation "à plat" (à la Excel...)

Ceci étant ;-)

Tes cases à cocher sur le formulaire, nomment les de façon à avoir ceci :

C1 à C15 et C16 à C18 et C19 à C25

Crée un groupe d'options (pas de cases à coché séparée !! ) avec 3 options.
1) l'expression pour les 15 premiers
2) l'expression pour les 18 premiers
3) l'expression pour les 25 premiers

Sélectionne le cadre et vas dans l'éditeur VBA et mets sur "Après mise à jour"
(après mise à jour du cadre et non d'une des cases à cocher)


Private Sub Cadre0_AfterUpdate()

Dim i As Integer
for i = 1 to 25
Me("C" & i ).Visible = False
next i

Select Case Cadre0
Case 1
for i = 1 to 15
Me("C" & i ).Visible = True
next i
Case 2
for i = 1 to 18
Me("C" & i ).Visible = True
next i
Case 3
for i = 1 to 25
Me("C" & i ).Visible = True
next i
end select

End Sub


Je pense que c'est quelque chose comme cela que tu cherche.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
yves
Merci 3stone
Mais comme d'habitude je ne sais pas présenter le problème tu as du t'en
rendre compte dans tes autres interventions
En faites mon formulaire dispose de 15 champs à l'ouverture de celui-ci.
Lorsque ce formulaire est ouvert je sélectionne la case à cocher
INSTALLATION : Mes 15 champs sont toujours présents mais champ1 champ2
champ3 apparaissent
ENTRETIEN: Mes 15 champs sont toujours présents mais champ4 champ5 champ6
apparaissent champ1 champ2 champ3 ont disparus
SAV: Mes 15 champs sont toujours présents mais champ7 champ8 champ9
apparaissent champ1 champ2 champ3 champ4 champ5 champ6 ont disparus
La sélection sur INSTALLATION ,ENTRETIEN, SAV, est aléatoire. Je veux
seulement cacher des champs spécifiques pour une sélection précise.
Merci
YVES




Salut,

"yves"
| Aprés l'ouverture d'un formulaire je souhaite forcer l'utilisateur à
| sélectionner soit la case à cocher C1 ou C2 ou C3 permettant d'afficher sur
| l'ensemble des 25 champs du formulaire
| C1 : Les 25 champs
| C2 : que 18 champs
| C3 : que 15 champs
| En faite je veux en cacher certains en fonctions de la case à cocher


Je peux me tromper, mais ce genre de besoin apparait plus souvent
dans une organisation "à plat" (à la Excel...)

Ceci étant ;-)

Tes cases à cocher sur le formulaire, nomment les de façon à avoir ceci :

C1 à C15 et C16 à C18 et C19 à C25

Crée un groupe d'options (pas de cases à coché séparée !! ) avec 3 options.
1) l'expression pour les 15 premiers
2) l'expression pour les 18 premiers
3) l'expression pour les 25 premiers

Sélectionne le cadre et vas dans l'éditeur VBA et mets sur "Après mise à jour"
(après mise à jour du cadre et non d'une des cases à cocher)


Private Sub Cadre0_AfterUpdate()

Dim i As Integer
for i = 1 to 25
Me("C" & i ).Visible = False
next i

Select Case Cadre0
Case 1
for i = 1 to 15
Me("C" & i ).Visible = True
next i
Case 2
for i = 1 to 18
Me("C" & i ).Visible = True
next i
Case 3
for i = 1 to 25
Me("C" & i ).Visible = True
next i
end select

End Sub


Je pense que c'est quelque chose comme cela que tu cherche.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"yves"
| Mais comme d'habitude je ne sais pas présenter le problème tu as du t'en
| rendre compte dans tes autres interventions
| En faites mon formulaire dispose de 15 champs à l'ouverture de celui-ci.
| Lorsque ce formulaire est ouvert je sélectionne la case à cocher
| INSTALLATION : Mes 15 champs sont toujours présents mais champ1 champ2
| champ3 apparaissent
| ENTRETIEN: Mes 15 champs sont toujours présents mais champ4 champ5 champ6
| apparaissent champ1 champ2 champ3 ont disparus
| SAV: Mes 15 champs sont toujours présents mais champ7 champ8 champ9
| apparaissent champ1 champ2 champ3 champ4 champ5 champ6 ont disparus
| La sélection sur INSTALLATION ,ENTRETIEN, SAV, est aléatoire. Je veux
| seulement cacher des champs spécifiques pour une sélection précise.


Oui... mais avec ce que je t'ai indiqué, c'est prémaché ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
yves
Salut je ne dois pas etre en forme ou alors vraiment mauvais:
car je n'ai rien compris en ce qui concerne les champs que je dois cacher en
fonction de la selection sur les cases à cocher
comment le champ exemple: absence, ou moniteur, ou eclairage ou observation
peuvent ne pas s'afficher à l'aide de la procédure vba????????????
Merci
YVES



Salut,

"yves"
| Mais comme d'habitude je ne sais pas présenter le problème tu as du t'en
| rendre compte dans tes autres interventions
| En faites mon formulaire dispose de 15 champs à l'ouverture de celui-ci.
| Lorsque ce formulaire est ouvert je sélectionne la case à cocher
| INSTALLATION : Mes 15 champs sont toujours présents mais champ1 champ2
| champ3 apparaissent
| ENTRETIEN: Mes 15 champs sont toujours présents mais champ4 champ5 champ6
| apparaissent champ1 champ2 champ3 ont disparus
| SAV: Mes 15 champs sont toujours présents mais champ7 champ8 champ9
| apparaissent champ1 champ2 champ3 champ4 champ5 champ6 ont disparus
| La sélection sur INSTALLATION ,ENTRETIEN, SAV, est aléatoire. Je veux
| seulement cacher des champs spécifiques pour une sélection précise.


Oui... mais avec ce que je t'ai indiqué, c'est prémaché ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"yves"
| Salut je ne dois pas etre en forme ou alors vraiment mauvais:
| car je n'ai rien compris en ce qui concerne les champs que je dois cacher en
| fonction de la selection sur les cases à cocher
| comment le champ exemple: absence, ou moniteur, ou eclairage ou observation
| peuvent ne pas s'afficher à l'aide de la procédure vba????????????


Tu as dans un enregistrement des champs nommés :
absence, moniteur, éclairage, observation... représentés par une coche ??


Si oui, ne touche pas aux de tes champs, mais renomme uniquement les objets
sur ton formulaire. Regarde les propriétés, onglet "Autres" ligne "Nom"

Là, tu les renomment pour avoir par exemple C16, C17, C18...
Uniquement ceux qui doivent apparaîte ou disparaître ;-)
puisque tu en as 15 qui seront toujours affiché (et peuvent garder leur nom).


Avec le code exemple que je t'ai indiqué, tu cache ou rend visible selon
la valeur de la coche choisie !


Ca rentre ?

:-)



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
yves
Salut
les champs absence, moniteur, éclairage, observation ect...... ne sont pas
des cases à cocher en faite je n'ai que 3 cases à cocher qui me permettent de
rendre invisible des champs dans mon formulaire
case à cocher C1(INSTALLATION ) me fait apparaitre ou disparaitre des champs
............
case à cocher C2 (ENTRETIEN)me fait apparaitre ou disparaitre des
champs............
case à cocher C3 (SAV)me fait apparaitre ou disparaitre des champs
.................
Merci
YVES

Salut,

"yves"
| Salut je ne dois pas etre en forme ou alors vraiment mauvais:
| car je n'ai rien compris en ce qui concerne les champs que je dois cacher en
| fonction de la selection sur les cases à cocher
| comment le champ exemple: absence, ou moniteur, ou eclairage ou observation
| peuvent ne pas s'afficher à l'aide de la procédure vba????????????


Tu as dans un enregistrement des champs nommés :
absence, moniteur, éclairage, observation... représentés par une coche ??


Si oui, ne touche pas aux de tes champs, mais renomme uniquement les objets
sur ton formulaire. Regarde les propriétés, onglet "Autres" ligne "Nom"

Là, tu les renomment pour avoir par exemple C16, C17, C18...
Uniquement ceux qui doivent apparaîte ou disparaître ;-)
puisque tu en as 15 qui seront toujours affiché (et peuvent garder leur nom).


Avec le code exemple que je t'ai indiqué, tu cache ou rend visible selon
la valeur de la coche choisie !


Ca rentre ?

:-)



--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"yves"
| les champs absence, moniteur, éclairage, observation ect...... ne sont pas
| des cases à cocher en faite je n'ai que 3 cases à cocher qui me permettent de
| rendre invisible des champs dans mon formulaire
| case à cocher C1(INSTALLATION ) me fait apparaitre ou disparaitre des champs
| ............
| case à cocher C2 (ENTRETIEN)me fait apparaitre ou disparaitre des
| champs............
| case à cocher C3 (SAV)me fait apparaitre ou disparaitre des champs
| .................


Oui... peut importe "case à cocher" ou "zone de texte"

Il faut seulement que tu les nomment de la manière indiquée, pour
pouvoir les "passer en revue" comme indiqué !

Et je t'ai dit de ne pas faire des cases à cocher individuelles,
mais un groupe d'option !

Relis la méthode que je t'ai expliqué, il rest à adapter avec les noms réels

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
yves
Merci encore 3stone
tu es un vrai pro je ne t'avais pas lu avec attention j'étais resté dans mon
idée
Tout fonctionne à merveille, j'ai fais un test pour 7 champs avec un GROUPE
d'option case à cocher et c'est parfait.
Tu m'avais déjà bien rendu service avec une procédure de verrouillage
d'enregistremet après saisie dans un formulaire il y a 2 ans et j'aurai du
m'en rappeler que le VBA c'est un monde à part et je devrai m'y pencher avec
attention et trouver un cours de débutant.
A bientôt surement pour un autre problème
YVES





re,

"yves"
| les champs absence, moniteur, éclairage, observation ect...... ne sont pas
| des cases à cocher en faite je n'ai que 3 cases à cocher qui me permettent de
| rendre invisible des champs dans mon formulaire
| case à cocher C1(INSTALLATION ) me fait apparaitre ou disparaitre des champs
| ............
| case à cocher C2 (ENTRETIEN)me fait apparaitre ou disparaitre des
| champs............
| case à cocher C3 (SAV)me fait apparaitre ou disparaitre des champs
| .................


Oui... peut importe "case à cocher" ou "zone de texte"

Il faut seulement que tu les nomment de la manière indiquée, pour
pouvoir les "passer en revue" comme indiqué !

Et je t'ai dit de ne pas faire des cases à cocher individuelles,
mais un groupe d'option !

Relis la méthode que je t'ai expliqué, il rest à adapter avec les noms réels

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/