Access:choix dans liste deroulante =zone txt

Résolu/Fermé
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 - 16 févr. 2012 à 09:15
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 - 16 févr. 2012 à 15:37
Bonjour,

Je travail actuellement sur Access 2010. Je fais une base de données pour gérer un inventaire informatique d'un etablissement.

Le soucis c'est que je n'arrive pas à faire ce que je souhaite! Je m'explique : dans un formulaire qui me permet d'ajouter du matériel j'ai crée une liste déroulante qui me permet de choisir le type du matériel ( imprimante, unité centrale, fax ,etc).
Ce que je souhaite c'est que selon le choix du type de matériel j'aimerai qu'une zone de texte apparait ( chaque zone de texte est different pour chaque type de materiel).

Je sais que c'est possible, mais je n'ai pas trouvé sur le net une personne qui a le même probleme que moi.

Merci d'avance pour vos réponse =)

8 réponses

blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 09:55
Salut,

où veux-tu faire apparaitre cette zone ?
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 10:03
toujours dans mon formulaire.
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 10:27
Dans ce cas, il faut prévoir toutes tes zones dans ton formulaire, même si elles se chevauchent.

Ensuite, tu mets un peu de code dans l'évènement 'sur ouverture' de ton formulaire. Ce code sera une suite de zone1.visible = false, zone2.visible = false...

Ensuite, dans ta liste déroulante, tu mets du code dans l'évènement 'sur changement' et tu rends visible la zone qui t'intéresse en fonction de ce qui est saisi (zone1.visible = true).

Il faudra aussi gérer le remasquage de la zone affichée lors du changement de choix dans la liste.

C'est plus clair ?
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 10:46
Merci de tes réponses. Je suis un novice dans le domaine de Access et j'ai du mal à comprendre.

Ma liste déroulante se nomme "type_liste" (en choix il y a : imprimante, fax , photocopieur, unité centrale, All in one ) et la zone de texte que je veux qu'il affiche est "relié au matériel_txt" ou "Type d'ecran_txt"selon un choix.
Sachant que "Type d'ecran_txt" s'affiche que si "unité centrale" ou "All in one" est selectionné dans la liste déroulante.

De plus je n'ai pas compris ce que dois désigné "zone1" par rapport a mon formulaire. C'est une table ?
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 10:51
non, c'est le nom de l'objet que tu veux afficher, soit 'relié au matériel_txt', soit 'type d'ecran_txt', soit autre chose...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
Modifié par RougeXIII le 16/02/2012 à 11:25
ah ok merci =)

Et je ne sais pas du tous ce qu'est le remasquage de zone. Je n'ai aucune connaissance sur le terrain.

Pourriez vous me guider ?

De plus lorsque je met "Type d'ecran_txt.visible = false" dans mon ouveture formulaire et "Type d'ecran_txt.visible = true" dans mon "sur changement" de ma liste deroulante.
J'ai un message d'erreur quand je revien en mode formulaire :
" si "Type d'ecran_txt" est une nouvelle macro ou un nouveau groupe de macros, vérifié qu'il est enregistré ou que vous avez correctement tapé son nom."
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 12:58
Dans les évènements, il faut choisir 'procédure événementielle', c'est ce choix qui ouvrira une fenêtre où l'on pourra rentrer le code VBA que j'ai indiqué...
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 13:51
"Il faudra aussi gérer le remasquage de la zone affichée lors du changement de choix dans la liste."

Euh oui :p
Je veux faire en sorte que "Type d'ecran_txt" s'affiche que si "unité centrale" ou "All in one" est selectionné dans la liste déroulante.

Mais je sais pas quoi tapé, ni dans qu'elle procédure événementielle il faut le marquer.
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 13:55
Ce que tu avais fait avant de le supprimer était un bon début, il ne faut simplement pas séparer les commandes par des virgules, mais les mettre chacun sur une ligne.

Pour le démasquage, je t'ai donné des infos plus haut...
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 14:16
Je comprend rien... J'ai mis :

Private Sub Form_Open(Cancel As Integer)
[Type ecran_txt].Visible = False
[relié au matériel_txt].Visible = False
End Sub

Private Sub type_liste_Change()
[Type ecran_txt].Visible = True
[relié au matériel_txt].Visible = True
End Sub

à partir d'ici je m'approche presque du resultat final ! Mais je sais pas ou marquer les choix de ma liste déroulante... J'ai essaillé devant, derrière , en remplaçant true :( . Je n'arrive pas à comprendre la logique du système.
Merci de m'aider
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 14:27
l'objet que je veux afficher, soit 'relié au matériel_txt'

Oui, mais comment ? =s
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 14:34
Tu progresses !
Pour relier ça au choix de la liste, il faut faire un test avec ce qui est saisi...
Donc, dans le code type_liste_change, tu mets un truc comme ça :

If Liste_change.value = "choix1" then
zone1.visible = true
zone2.visible = false
end if
if liste_change.value = "choix2" then
zone1.visible = false
zone2.visible = true
end if


Et ainsi de suite...
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 15:23
Super génial Merci sa fonctionne ! =)

Dernière question ! La zone liste permet aussi une saisie automatique. Cette saisie automatique m'interèsse.
Et quand je fait "Entré" pour aller dans mon champ suivant sa ne m'affiche pas la zone de texte ( qui doit apparaitre ).

Pour que ma zone de texte apparaisse je doit obligatoirement cliquer dans ma liste déroulante ! ( ce n'est pas dérangeant mais moins pratique ! )
0
blux Messages postés 26001 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 avril 2024 3 289
16 févr. 2012 à 15:31
Pas possible, car tu ne fais que de l'affichage en saisie semi-auto.
La validation de ton choix n'est faite qu'au clic...
0
RougeXIII Messages postés 241 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 mars 2020 2
16 févr. 2012 à 15:37
Ok . Je vous remercie beaucoup pour votre aide !
Je vais de suite crer une nouvelle discution sur un autre problème sur Access =)
0