Groupe Options

  • Upload
    ahouba

  • View
    215

  • Download
    0

Embed Size (px)

DESCRIPTION

Les groupes d'option en vba access

Citation preview

  • Les Cases Cocher et lesGroupes d'Options dans Access

    Par Philippe JOCHMANS

    Date de publication : 3 dcembre 2007

    Dernire mise jour : 3 dcembre 2007

    Ce tutorial a pour but de vous expliquer comment utiliser correctement les cases cocher,les boutons d'option, les boutons bascule et les groupes d'options dans Access.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 2 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    I - Introduction..............................................................................................................................................................3I-A - Gnralit....................................................................................................................................................... 3I-B - Convention..................................................................................................................................................... 3I-C - Nommer les contrles....................................................................................................................................3

    II - Les Contrles Indpendants.................................................................................................................................. 3II-A - Les cases d'option et les cases cocher.................................................................................................... 4

    II-A-1 - Positionnement..................................................................................................................................... 4II-A-2 - Valeurs.................................................................................................................................................. 4

    II-A-2-a - Affecter une valeur.......................................................................................................................4II-A-2-b - Rcuprer une valeur.................................................................................................................. 5

    II-B - Les boutons bascule.....................................................................................................................................5II-B-1 - Positionnement..................................................................................................................................... 5II-B-2 - Valeurs.................................................................................................................................................. 6

    II-B-2-a - Affecter une valeur.......................................................................................................................6II-B-2-b - Rcuprer une valeur.................................................................................................................. 6

    II-B-3 - Personnaliser le bouton bascule.......................................................................................................... 6II-B-3-a - Lgende (Caption)....................................................................................................................... 6

    III - Les Groupes d'Options......................................................................................................................................... 6III-A - Crer un groupe d'option grce l'assistant...............................................................................................6III-B - Renommer les lments du groupe d'options............................................................................................. 9III-C - Connatre le bouton qui a t coch...........................................................................................................9III-D - Dcider quel bouton sera activ................................................................................................................10III-E - Rajouter une case d'option dans un groupe d'options dj existant......................................................... 10

    IV - Conclusion.......................................................................................................................................................... 10V - Remerciements.................................................................................................................................................... 11

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 3 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    I - Introduction

    I-A - Gnralit

    Le but de cet article est de vous expliquer comment utiliser correctement les groupes d'options, ainsi que les contrlesindpendants cases cocher, cases d'option (galement nomms boutons radio) et boutons bascule.

    Nous n'allons pas tudier toutes les proprits, et mthodes de ceux-ci, mais les plus importantes qui vont permettrede connatre leur comportement et leur tat dans diffrentes situations.

    Nous allons distinguer dans cet article les contrles indpendants, et les contrles dans les groupes d'options, eneffet selon l'emplacement des contrles, la rcupration des donnes de ces contrles sera diffrente.

    Tous les tests ont t faits sous Access 2002.

    I-B - Convention

    Par convention (vous pouvez le voir dans toutes les applications que vous utilisez et lorsque vous remplissez desquestionnaires sur le Web), les contrles indpendants ne sont pas utiliss n'importe comment.

    Les cases d'option : Ils sont utiliss lorsque vous n'avez qu'un choix faire dans une liste. Les cases cocher : Ils sont utiliss lorsque vous avez plusieurs choix possibles dans une liste. Les boutons bascule : Ils sont rarement utiliss dans les listes, leur avantage est plutt visuel.

    I-C - Nommer les contrles

    Lorsque vous disposez les contrles sur un formulaire, Access donne ceux-ci des noms par dfaut, hors ceux-cisont loin d'tre parlant, il faut donc absolument les renommer.

    Dans cet article nous allons utiliser les prfixes suivant pour les noms des contrles :

    Les cases d'option : opt Les cases cocher : chk Les boutons bascule : btn Les groupes d'options : opg

    Je vous invite donc nommer tout de suite vos contrles, comme tous les lments de votre base de donnes.

    Je vous conseille la lecture de cet article :

    Descriptif des conventions typographiques du code Visual Basic

    II - Les Contrles Indpendants

    Nous allons voquer dans cette partie les contrles indpendants. Vous trouverez ceux-ci dans la barre d'outilslorsque votre formulaire est en mode cration (voir image ci-dessus).

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 4 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    II-A - Les cases d'option et les cases cocher

    Nous allons regrouper ces deux contrles ensembles, car ils ont exactement les mmes proprits, c'est uniquementl'aspect visuel qui change.

    II-A-1 - Positionnement

    Lorsque que vous positionner l'un de ces contrles, celui-ci est accompagn d'une tiquette. Mme si cette tiquetteest purement titre informatif, il vous appartient de bien dfinir son nom.

    J'ai pris l'habitude de nommer les tiquettes en utilisant comme prfixe lbl, et en y ajoutant le nom du contrle, ce quipermet au premier coup d'oeil de savoir que c'est l'tiquette du contrle X.

    Pour positionner correctement votre contrle vous avez :

    Haut (Top) : qui positionne votre contrle par rapport au bord haut de la section du formulaire contenantcelui-ci.

    Gauche (Left) : qui positionne votre contrle par rapport au bord gauche de la section du formulairecontenant celui-ci.

    Faites attention aux units, dans la fentre proprit lorsque votre formulaire est en modecration, l'unit est le cm. Tandis que lorsque vous passez par du code VB, l'unit estle twips.Vous disposer galement des proprits Hauteur (Height) et Largeur (Width), maiscelles-ci ont peut d'intrt, car vous ne pouvez redimensionner le cercle ou le carr deces lments, leur dimension est fixe.

    II-A-2 - Valeurs

    II-A-2-a - Affecter une valeur

    Lorsque vous avez positionn votre contrle sur votre formulaire et que vous passez celui-ci en mode formulaire,vous pouvez constater que celui-ci est gris.

    En effet, ces deux contrles admettent trois valeurs :

    Coch : La case est coche. Dcoche : La case est dcoche. Indtermine : La case est grise.

    Vous avez deux manires pour dterminer celle-ci.

    Par la fentre proprit :

    Il suffit de mettre dans la proprit Valeur par dfaut Vrai si vous voulez que le contrle soit coch ou Faux si vousvoulez que celui-ci soit dcoch, si vous voulez que celui-ci soit gris, supprimez la valeur de cette proprit.

    Par le code VBA :

    Il vous faut passer par la proprit Value, ainsi le code suivant va rendre votre contrle coch.

    Me.chkAvecImpression.Value = True

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 5 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    Pour que le contrle soit dcoch, vous utilisez False, et pour que celui-ci soit gris vous mettez Null.

    II-A-2-b - Rcuprer une valeur

    Maintenant que nous avons affect une valeur notre contrle, nous allons voir comment la rcuprer. Pour celanous allons utiliser la proprit Value de celui-ci.

    Public Function TextChk(objChek As Control) As String ' ===== cette fonction va permettre de rcuprer la valeur d'un chekbox ===== Select Case objChek.Value Case -1 TextChk = "Vrai, la case est coche" Case 0 TextChk = "False, la case est dcoche" Case Else TextChk = "Null, la case est grise" End SelectEnd Function

    Et par un bouton de commande sur le formulaire.

    Private Sub cmdTestChek_Click() ' ===== rcupration de la valeur d'une texte box ===== MsgBox Nz(TextChk(Me.chkAvecImpression,"Null")End Sub

    Cela vous permet de tester n'importe qu'elle case d'option ou bouton cocher.

    Dans le code ci-dessus, j'ai utilis la fonction NZ, en effet une case cocher peut avoirune valeur Null. Hors lorsque vous cliquez sur une case cocher, vous vous apercevezqu'elle est soit coche, soit dcoche.En fait cela est du une proprit qui est Triple tat (TripleState), cette valeur est pardfaut Non, si vous la passez Oui, la case cocher peut nouveau avoir une valeurnulle.Donc contrairement ce que l'on pense, une case cocher indpendante peut avoir 3valeurs et non 2.

    II-B - Les boutons bascule

    Nous allons aborder les boutons bascule en tant qu'objet indpendant, alors que son utilisation est plus intressantegraphiquement dans les groupes d'options. Mais il permet aussi de faire des choses trs intressantes.

    Lorsque vous utilisez le bouton de commande classique celui-ci une fois cliquer revient sa position, avec le boutonbascule nous allons pouvoir garder la position appuye.

    II-B-1 - Positionnement

    Le positionnement des boutons bascule est similaire celui des cases cocher (d'ailleurs c'est la mme chose pourtous les contrles, sauf que le bouton bascule n'est pas associ une tiquette).

    Les proprits hauteur et largeur ont par contre tout leur intrt, car comme le bouton de commande classique, sataille peut tre dfinie dans la fentre proprit et par le code.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 6 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    II-B-2 - Valeurs

    II-B-2-a - Affecter une valeur

    Le comportement est similaire aux cases cocher, je vous renvois sur ce chapitre pour plus d'informations.

    II-B-2-b - Rcuprer une valeur

    Le comportement est similaire aux cases cocher, je vous renvois sur ce chapitre pour plus d'informations.

    II-B-3 - Personnaliser le bouton bascule

    Le bouton bascule peut-tre personnalis comme le bouton de commande.

    II-B-3-a - Lgende (Caption)

    Cette proprit va vous permettre de dterminer le texte qui se trouve dans ce bouton (vous pouvez bien sr modifierles attributs de celui-ci : police, taille, etc.).

    Ce qui est intressant, c'est que l'on peut changer le texte en fonction des trois tats possibles de ce bouton bascule,alors que ce n'est pas possible avec un bouton de commande (on peut changer le texte, mais cela implique d'avoirune variable supplmentaire pour stocker la position du bouton de commande).

    Mettez la proprit Tripe tat Oui, ainsi le code suivant vous donne trois lgendes possibles pour le bouton.

    Private Sub btnBascule_Click() ' ===== changement de la lgende du bouton bascule en fonction de son tat ===== Select Case Me.btnBascule.Value Case -1 ' le bouton est enfonce Me.btnBascule.Caption = "Le bouton est enfonc" Case 0 ' le bouton est relch Me.btnBascule.Caption = "Le bouton est relch" Case Else ' la valeur du bouton est null Me.btnBascule.Caption = "Le bouton est neutre" End SelectEnd Sub

    III - Les Groupes d'Options

    Nous avons abord dans la premire partie les contrles indpendants, hors comme le nom l'indique, il n'y a aucuneliaison entre eux.

    Pour que ceux-ci soient lis, il faut les positionner dans un groupe d'options, ce qui permet de dcocher les contrlesquand on en coche un autre.

    III-A - Crer un groupe d'option grce l'assistant

    L'assistant pour crer les groupes d'options est excellent, je vous conseille donc de l'utiliser. Il vous permet de raliserrapidement un groupe d'options.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 7 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    Pour pouvoir l'utiliser, il faut que l'icne de l'assistant soit enfonc, ensuite vous n'avez plus qu' cliquer sur l'icnegroupe d'options et le positionner sur votre formulaire pour lancer l'assistant et effectuer les tapes qui vous sontproposs.

    Nous allons crer grce l'assistant un groupe d'options avec des cases d'option OUI et NON.

    Saisissez Oui dans le premier champ, appuyez sur la touche Tab, puis saisissez Non.

    Ensuite cliquez sur suivant.

    Maintenant vous allez dterminer quelle sera la valeur par dfaut du groupe d'options.

    Vous pouvez donc :

    Choisir une valeur par dfaut dans une liste droulante qui reprend les valeurs saisies prcdemment. Ne pas choisir de valeur par dfaut, ce qui implique que vos boutons d'options apparatront tous griss.

    Il est prfrable de choisir une valeur par dfaut.

    Puis cliquez sur suivant.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 8 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    Cette fentre vous permet de dterminer la valeur que vous attribuer chaque bouton d'option de votre grouped'options.

    Cette valeur nous permettra l'avenir de savoir, en interrogeant le groupe d'option, quel bouton d'option a t coch.

    Je vous conseille de laisser les valeurs prdfinies par Access, cela vous permettra devous y retrouver plus facilement par la suite en ayant une numrotation logique.

    Puis cliquez sur suivant.

    Cette fentre va vous permettre de dterminer l'aspect de votre groupe d'options.

    Comme nous l'avons vu prcdemment, la convention veut que si nous avons desboutons d'options qui doivent s'annuler quand nous cliquons sur un autre on utilise lescases d'option. Pour ne pas drouter les utilisateurs, je vous conseille de prendre soit lescases d'option ou les boutons bascule, mais d'viter les cases cocher.

    Puis cliquez sur suivant.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 9 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    Maintenant, l'assistant vous demande de dterminer la lgende qui vous voulez voir apparatre sur le cadre entourantvotre groupe d'options. Par dfaut, celui-ci vous propose le mot Cadre avec un chiffre, ici nous allons crire Choix.

    Puis cliquez sur Terminer.

    Si vous passez en mode formulaire, vous avez dornavant un groupe d'options parfaitement oprationnel, si vouscliquez sur Non (car nous avons pris Oui comme valeur par dfaut), vous verrez le bouton Oui se dcocher.

    III-B - Renommer les lments du groupe d'options

    Comme il a dj t dit, il est important de renommer vos contrles. Le groupe d'options est compos de plusieurslments, nous allons maintenant les renommer.

    Le cadre : Le cadre est le conteneur du groupe d'options, nous allons le renommer : opgChoix. La lgende du cadre : La lgende du cadre (qui contient dj Choix) est une tiquette, nous allons la

    renommer : lblOpgChoix. Les cases d'option : Il y a donc deux cases d'option, nous allons les renommer : optOui et optNon. Les lgendes des cases d'options : Il y'a donc une lgende par case, nous allons les renommer : lblOptOui et

    lblOptNon.

    III-C - Connatre le bouton qui a t coch

    Pour connatre la case qui a t coche, il suffit de rcuprer la proprit value du groupe d'options.

    Le code suivant vous permet de rcuprer la valeur de la case d'option lorsque vous cliquez sur l'une d'elle.

    Private Sub opgChoix_Click() ' ===== rcuprration de la case coche ==== Select Case Me.opgChoix.Value Case 1 MsgBox "Vous avez coch Oui"

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 10 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    Case 2 MsgBox "Vous avez coch Non" End SelectEnd Sub

    L'utilisation la plus courante est de mettre ce code sur l'vnement Click d'un bouton de commande pour lancer untraitement en fonction du rsultat.

    III-D - Dcider quel bouton sera activ

    Il peut arriver que lors de votre traitement vous ayez besoin de changer le bouton qui sera activ, pour cela on utilisetoujours la proprit Value du groupe d'options.

    Me.opgChoix.Value = 2

    Avec cette ligne de code nous allons cocher la case cocher Non (ce qui dcochera automatiquement la case Oui).

    Cette valeur peut-tre redfinie manuellement en changeant la proprit Valeur par Dfaut(DefaultValue).

    III-E - Rajouter une case d'option dans un groupe d'options dj existant

    Il est toujours possible d'ajouter une case d'option dans un groupe d'option sans avoir le recrer.

    Pour cela il vous suffit de slection la case d'option dans la barre d'outil et de la positionner dans le groupe d'options.Vous verrez celui-ci se mettre en surbrillance.

    Votre groupe d'options comporte maintenant 3 case cocher Oui, Non et une autre que nous pourrons appeler Peut-tre.

    Ce dernier bouton prend pour valeur 3.

    Vous pouvez rcuprer les valeurs des cases cocher des groupes d'options enconsultant la proprit Valeur Contrle (OptionValue).

    La proprit Triple tat (TripleState) n'existe pas pour les contrles quand ceux-ciappartiennent un groupe d'options.

    IV - Conclusion

    Comme vous l'avez vu, l'utilisation de ces contrles ne se fait pas au hasard, voici donc un petit rcapitulatif.

    Vous voulez cocher ou dcocher des contrles indpendants les uns des autres :

    Utilisez un contrle case cocher ou bouton bascule.

    Vous voulez cocher ou dcocher des contrles en les liants les uns aux autres :

    Utilisez les groupes d'options en slectionnant des cases d'option ou des boutons bascule.

  • Les Cases Cocher et les Groupes d'Options dans Access par Philippe JOCHMANS

    - 11 -Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtentionpralable de l'autorisation de l'auteur.

    http://starec.developpez.com//tuto/groupeoptions/

    V - Remerciements

    Je tiens remercier Dolphy35, Lou Pitchoun et RideKick pour leurs relectures et corrections.

    Et enfin toute l'quipe de developpez.com pour ce remarquable site.

    SynopsisSommaireI - IntroductionI-A - GnralitI-B - ConventionI-C - Nommer les contrles

    II - Les Contrles IndpendantsII-A - Les cases d'option et les cases cocherII-A-1 - PositionnementII-A-2 - ValeursII-A-2-a - Affecter une valeurII-A-2-b - Rcuprer une valeur

    II-B - Les boutons basculeII-B-1 - PositionnementII-B-2 - ValeursII-B-2-a - Affecter une valeurII-B-2-b - Rcuprer une valeur

    II-B-3 - Personnaliser le bouton basculeII-B-3-a - Lgende (Caption)

    III - Les Groupes d'OptionsIII-A - Crer un groupe d'option grce l'assistantIII-B - Renommer les lments du groupe d'optionsIII-C - Connatre le bouton qui a t cochIII-D - Dcider quel bouton sera activIII-E - Rajouter une case d'option dans un groupe d'options dj existant

    IV - ConclusionV - Remerciements