V V i i s s u u a a l l B B a a s s i i c c A A p p p p l l i i c c a a t t i i o o n n
p p o o u u r r E E x x c c e e l l
Table des matires
1.- PRISE EN MAIN DE LENVIRONNEMENT ................................................................................................... 3 1.1.- DEMARRAGE DE VISUAL BASIC DANS EXCEL.................................................................................................... 3 1.2.- LEXPLORATEUR DE PROJET ............................................................................................................................. 3 1.3.- LEXPLORATEUR D'OBJETS ............................................................................................................................... 4 1.4.- LA FENETRE CODE............................................................................................................................................ 6 1.5.- LA FENETRE EXECUTION.................................................................................................................................. 7 1.6.- LA FENETRE ESPIONS ....................................................................................................................................... 8 2.- CREATION DE FORMULAIRES ...................................................................................................................... 9 2.1.- CASE DOPTION................................................................................................................................................. 9 2.2- CASE COCHER................................................................................................................................................. 9 2.3.- ZONE DE LISTE................................................................................................................................................ 10 2.4.- BOUTON DE COMMANDE................................................................................................................................. 11 2.5.- IDENTIFICATEUR DES CONTROLES................................................................................................................... 12 3.- LES BOITES DE DIALOGUES......................................................................................................................... 13 3.1.- LOBJET USERFORM. ...................................................................................................................................... 13 3.1.1.- Cration dune UserForm...................................................................................................................... 13 3.1.2.- Modification du nom dune UserForm. .................................................................................................. 13 3.1.3.- Modification des proprits dune UserForm. ....................................................................................... 13 3.2.- LA BOITE A OUTILS ......................................................................................................................................... 14 3.2.1.- Affichage ou masquage de la bote outils............................................................................................ 14 3.2.2.- Les contrles de la bote outils............................................................................................................ 14 3.3.- LES CONTROLES SUPPLEMENTAIRES ............................................................................................................... 18 3.4.- MODIFICATION DUN CONTROLE..................................................................................................................... 18 3.4.1.- Modification du nom .............................................................................................................................. 18 3.4.2.- Modification dune proprit ................................................................................................................. 19 3.5.- LA SUPERPOSITION DES CONTROLES ............................................................................................................... 19 4.- LES MENUS ........................................................................................................................................................ 20 4.1.- LE MENU BARRE ........................................................................................................................................ 20 4.2.- LE MENU CONTEXTUEL ............................................................................................................................. 20 5.- REPONSES AUX EVENEMENTS.................................................................................................................... 22 6.- LAIDE EN LIGNE SUR LES PROCEDURES EVENEMENTIELLES ...................................................... 23 7.- ACTIONS POSSIBLES SUR UN DOCUMENT EXCEL................................................................................ 24 7.1.- OUVERTURE ET FERMETURE DUN DOCUMENT EXCEL.................................................................................... 24 7.2.- ACTIONS SUR LOBJET FEUILLE EXCEL ..................................................................................................... 24 7.3.- ACTIONS SUR LOBJET CELLULE EXCEL .................................................................................................... 25 7.4.- AUTRES ACTIONS SUR DES OBJETS EXCEL....................................................................................................... 26 7.5.- QUELQUES EXEMPLES DACTIONS PLUS COMPLEXES....................................................................................... 27 ANNEXES ................................................................................................................................................................. 29 A1.- CONSTANTES, BOUTONS ET ICONES DES BOITES DE MESSAGES....................................................................... 29 A2.- CONSTANTES DE CODE DE TOUCHES ............................................................................................................... 31
1.- Prise en main de lenvironnement 1.1.- Dmarrage de Visual basic dans Excel Dans le menu Outils slectionnez la commande Macro Visual Basic Editor pour activer lexplorateur de projet.
1.2.- LExplorateur de projet Lexplorateur de projet affiche une liste hirarchise des projets et de tous les lments rfrencs par chaque projet et contenus dans un projet.
Ouvre une fentre destine recevoir le code Visual Basic Le projet et les lments qu'il contient : Affiche l'objet slectionn
1.3.- LExplorateur d'objets Affiche les classes, les proprits, les mthodes, les vnements et les constantes disponibles dans les bibliothques d'objets et les procdures de votre projet. Il permet de rechercher et d'utiliser des objets que vous crez ainsi que des objets provenant d'autres applications.
Projet/bibliothque Rechercher un texte Retourner Avancer Afficher la dfinition Aide Copier Afficher/masquer Rechercher
Zone Projet/bibliothque Affiche les bibliothques actuellement rfrences pour le projet actif. Vous pouvez ajouter des bibliothques dans la bote de dialogue Rfrences. All Libraries permet d'afficher simultanment toutes les bibliothques.
Zone Rechercher un texte Contient la chane utiliser dans votre recherche. Vous pouvez taper ou choisir la chane utiliser. La zone Rechercher un texte conserve jusqu' la fermeture du projet les 4 dernires chanes de recherche que vous avez entres. Vous pouvez utiliser les caractres gnriques Visual Basic standard lorsque vous tapez une chane. Pour rechercher un mot entier, utilisez la commande Mot entier du menu contextuel.
Bouton Retourner Permet de revenir la slection prcdente dans les listes Classes et Membres de . Vous remontez d'une slection chaque fois que vous cliquez sur ce bouton, jusqu' puisement des choix prcdents.
Bouton Avancer Permet de rutiliser vos slections d'origine dans les listes Classes et Membres de chaque fois que vous cliquez dessus, jusqu' puisement de la liste de slections.
Bouton Copier dans le Presse-papiers Copie la slection en cours dans la liste Membres de ou le texte du volet Dtails vers le Presse-papiers. Vous pouvez ensuite coller la slection dans votre code.
Bouton Afficher la dfinition Dplace le curseur la position laquelle est dfinie la slection dans la liste Membres de ou Classes de la fentre Code.
Bouton Aide Affiche la rubrique d'aide en ligne correspondant l'lment slectionn dans la liste Classes ou Membres de . Vous pouvez galement appuyer sur F1.
Bouton Rechercher Lance une recherche dans les bibliothques sur la classe ou proprit, mthode, constante ou l'vnement correspondant la chane que vous avez tape dans la zone Rechercher un texte et ouvre le volet Rsultats de la recherche , dans lequel figurent les informations demandes.
Bouton Afficher/Masquer les rsultats de la recherche Ouvre ou masque le volet Rsultats de la recherche . Les informations de ce dernier sont modifies pour afficher les rsultats de la recherche dans la bibliothque ou dans le projet slectionn dans la liste Projet/bibliothque . Les rsultats de la recherche sont rpertoris par ordre alphabtique de A Z.
Liste Rsultats de la recherche Affiche la bibliothque, la classe et le membre correspondant aux lments indiqus dans votre chane de recherche. Les informations du volet Rsultats de la recherche sont modifies lorsque vous changez la slection dans la zone Projet/bibliothque .
Liste Classes Affiche toutes les classes disponibles dans la bibliothque ou dans le projet slectionn dans la zone Projet/Bibliothque . S'il existe du code rdig pour une classe, cette dernire apparat en gras. La liste commence toujours par <global>, la liste des membres auxquels l'accs est global. Si vous slectionnez une classe sans prciser de membre, le membre par dfaut, s'il existe, est utilis. Le membre par dfaut est indiqu par un astrisque (*) ou par l'icne par dfaut spcifique ce membre.
Liste Membres de Affiche les lments de la classe slectionne dans le volet Classes en les triant par groupe, puis dans l'ordre alphabtique au sein de chaque groupe. Les mthodes, proprits, vnements ou constantes pour lesquels du code est rdig apparaissent en gras. Vous pouvez modifier l'ordre de cette liste avec la commande Membres du groupe du menu contextuel de l'Explorateur d'objets.
Volet Dtails Affiche la dfinition du membre. Le volet Dtails contient un renvoi la classe ou bibliothque laquelle l'lment appartient. Certains membres sont dots de renvois leur classe parent. Par exemple, si le texte du volet Dtails indique que Command1 est dclare en tant que type de bouton de commande, la classe Bouton de commande apparat si vous cliquez sur le bouton de commande. Vous pouvez copier ou faire glisser le texte du volet Dtails vers la fentre Code.
Barre de fractionnement Spare les volets pour vous permettre de modifier leur taille. Des sparations existent entre : la zone Classes et la zone Membres de ; la liste Rsultats de la recherche et les zones Classes et Membres de ; les zones Classes et Membres de et le volet Dtails .
1.4.- La Fentre Code Pour afficher la fentre de code : 1. slectionnez lobjet qui doit tre associ au code Visual Basic ; 2. cliquez sur le bouton daffichage de la fentre code . 1 2
La fentre Code permet d'crire, d'afficher et de modifier le code Visual Basic. Vous pouvez ouvrir autant de fentres Code que vous avez de modules, ce qui vous permet de visualiser facilement le code des diffrentes feuilles ou modules et d'effectuer des oprations de copier- coller de l'un l'autre. Vous pouvez ouvrir une fentre Code partir de : la fentre Projet, en slectionnant une feuille ou un module, et en choisissant le bouton Afficher le code ; une fentre UserForm, en double-cliquant sur un contrle ou sur une feuille, en choisissant Code dans le menu Affichage ou en appuyant sur F7. Vous pouvez faire glisser le texte slectionn vers : un autre emplacement de la fentre Code en cours ; une autre fentre Code ; les fentres Excution et Espions ; la Corbeille.
lments de la fentre code
Zone Objet Affiche le nom de l'objet slectionn. Cliquez sur la flche situe droite de la zone de liste pour afficher la liste de tous les objets associs la feuille.
Zone Procdures/vnements Rpertorie tous les vnements reconnus par Visual Basic pour la feuille ou le contrle affich dans la zone Objet. Lorsque vous slectionnez un vnement, la procdure d'vnement qui est associe son nom apparat dans la fentre Code. Si (Gnral) est affich dans la zone Objet, la zone Procdure rpertorie l'ensemble des dclarations et des procdures gnrales qui ont t cres pour la feuille. Si vous modifiez le code du module, la zone Procdure affiche toutes les procdures gnrales du module. Dans les deux cas, la procdure que vous avez slectionne dans la zone Procdure apparat dans la fentre Code.
Toutes les procdures d'un module sont affiches par ordre alphabtique dans une mme liste avec dfilement. Si vous slectionnez une procdure l'aide des zones de liste droulantes situes en haut de la fentre Code, le curseur va immdiatement se placer sur la premire ligne de code de la procdure slectionne.
Barre de fractionnement Faire glisser cette barre vers le bas a pour effet de fractionner la fentre Code en deux volets horizontaux dont vous pourrez faire dfiler le contenu de manire totalement autonome. Vous pouvez ensuite afficher simultanment diffrentes parties de votre code. Les informations qui apparaissent dans les zones Objet et Procdures/vnements s'appliquent au code du volet qui a le focus. Si vous faites glisser la barre de fractionnement jusqu'en haut de la fentre, un volet se ferme.
Barre des indicateurs en marge Zone grise situe gauche de la fentre Code o apparaissent les indicateurs en marge.
Icne Affichage de la procdure Affiche la procdure slectionne. La fentre Code ne peut afficher qu'une procdure la fois.
Icne Affichage complet du module Affiche l'ensemble du code du module. 1.5.- La Fentre Excution
Dans cette fentre, vous pouvez :
taper ou coller une ligne, puis appuyer sur ENTRE pour l'excuter ; copier le code de la fentre Excution pour le coller dans la fentre Code , mais vous ne pouvez pas enregistrer le code de la fentre Excution ; faire glisser et dplacer la fentre Excution n'importe o sur votre cran, sauf si vous en faites une fentre ancrable l'aide de l'onglet Ancrage de la bote de dialogue Options. Pour fermer la fentre, cliquez sur la case de fermeture. Si elle n'est pas visible, double-cliquez sur la barre de titre pour que la case de fermeture apparaisse, puis cliquez sur cette dernire. En mode Arrt, une instruction figurant dans la fentre Excution est excute dans le contexte ou la porte indiqu dans la zone Procdure. Par exemple, si vous tapez Print variablename , la sortie est la valeur d'une variable locale, comme si la mthode Print s'tait trouve dans la procdure que vous excutiez quand le programme s'est arrt.
Cette boite apparat automatiquement lorsque des expressions espionnes sont dfinies dans le projet. Vous pouvez : modifier la taille des en-ttes de colonnes en faisant glisser la bordure vers la droite pour les agrandir ou vers la gauche pour les rduire ; faire glisser une variable slectionne vers la fentre Excution ou la fentre Espion ; fermer la fentre en cliquant sur la case de fermeture. Si elle n'est pas visible, double-cliquez sur la barre de titre pour que la case de fermeture apparaisse, puis cliquez sur cette dernire. Expression : affiche l'expression espionne avec l'icne Espion, sa gauche. Valeur : indique la valeur de l'expression au moment du passage au mode Arrt. Vous pouvez modifier la valeur puis appuyer sur ENTRE, sur les touches flches HAUT et BAS, TAB, MAJ+TAB, ou cliquer sur l'cran pour valider la modification. Si la valeur est incorrecte, le champ Modifier reste actif et la valeur est mise en vidence. Un message dcrivant l'erreur apparat galement. Pour annuler une modification, appuyez sur CHAP. Type : indique le type de l'expression. Contexte : affiche le contexte de l'expression espionne. Si le contexte de l'expression n'est pas dans la porte lors du passage au mode Arrt, la valeur en cours n'est pas indique. Pour fermer la fentre, cliquez sur la case de fermeture. Si elle n'est pas visible, double-cliquez sur la barre de titre pour que la case de fermeture apparaisse, puis cliquez sur cette dernire.
2.- Cration de formulaires Sur une feuille de calcul vous pouvez placer des case cocher, des boutons d'options, des listes droulantes ou des boutons de commande (qui serviront dclencher des macros). Ces contrles placs sur une feuille de calcul peuvent ne pas tre visible au moment de l'impression. 2.1.- Case doption 1. dans le menu Affichage , activez la commande Barre d'outils , puis affichez la barre Formulaire ; 2. cliquez sur le bouton Case doption , puis placez lobjet sur la feuille de calcul ; 3. lorsque lobjet est slectionn, dans le menu Format , activez la commande Contrle.. ; 4. cliquez sur longlet Contrle , puis indique la valeur souhaite (Non coch, Coch ou Gris) ; 5. indiquez la cellule lie. La cellule lie tant la cellule qui reoit le n de la case doption active.
1 2 3 4 5 Cellule lie
2.2- Case cocher 1. dans le menu Affichage , activez la commande Barre d'outils , puis affichez la barre Formulaire ; 2. cliquez sur le bouton Case cocher , puis placez lobjet sur la feuille de calcul ; 3. lorsque lobjet est slectionn, dans le menu Format , activez la commande Contrle ; 4. cliquez sur longlet Contrle , puis indique la valeur souhaite (Non coch, Coch ou Gris) ; 5. indiquez la cellule lie. La cellule lie tant la cellule qui reoit VRAI lorsque la case est coche, FAUX dans lautre cas.
2.3.- Zone de liste 1. dans le menu Affichage , activez la commande Barre d'outils , puis affichez la barre Formulaire ; 2. cliquez sur un des boutons Zone de liste, puis placez lobjet sur la feuille de calcul ; 3. lorsque lobjet est slectionn, dans le menu Format , activez la commande Contrle ; 4. cliquez sur longlet Contrle , puis indique la Plage dentre . La plage dentre tant la plage des cellules contenant les informations qui doivent figurer dans la liste ; 5. indiquez la cellule lie. La cellule lie tant la cellule qui reoit le n du rang de linformation slectionne dans la liste ; 6. indiquez le Nombre de lignes ,. Le nombre de lignes correspond aux nombre de lignes affiches lorsque lon clique sur la zone de liste droulante. 1 4 3 5 2 6 Cellule lie Plage d'entre
Remarque : les cellules lies, les plages dentres, peuvent tre situes sur une autre feuille ; pour ne pas imprimer ces contrles, dcochez la case Imprimer lobjet .
2.4.- Bouton de commande 1. dans le menu Affichage , activez la commande Barre d'outils , puis affichez la barre Formulaire ; 2. cliquez sur le bouton Bouton, puis placez lobjet sur la feuille de calcul ; 3. la fentre Affecter une macro saffiche, slectionnez la macro ; 4. cliquez sur Ok ; 5. slectionner le texte du bouton, puis taper le texte qui vous convient.
2.5.- Identificateur des contrles Contrairement aux boites de dialogue que nous verrons dans le chapitre suivant, les contrles insrs dans une feuille Excel (Case option, Case cocher, Boutons ) nont pas didentificateur. La seule de manire de les identifier est de connatre lordre de cration du contrle dans la feuille Excel. Visual Basic range les contrles dans un tableau de mme type. Par exemple, si vous crez trois boutons sur votre feuille Excel, VBA cre un tableau Buttons de trois lments de type Buttons . De mme, si vous crez deux cases doptions, vous aurez un tableau OptionButtons de deux lments. Si vous dsirez connatre ltat des cases doptions (par exemple laquelle des deux est slectionne), vous pouvez crire le code suivant :
For I = 1 To 2 Valeur = Sheets ("nom de la feuille").OptionButtons(I).Value Debug.Print Valeur Next
Dans le cas prcdent, Valeur vaudra 1 pour la case coche et une valeur ngative quelconque pour la case non coche.
Autre exemple : rendre un bouton visible. Pour connatre lordre de cration du bouton (donc son rang dans le tableau Buttons ), on peut par exemple parcourir lensemble des boutons de la feuille Excel (faire une boucle sur le nombre de boutons de la feuille) et comparer lattribut Text de tous les boutons avec celui recherch. Une fois le rang du bouton trouv, il suffit daffecter la valeur False la proprit Visible du bouton.
Sheets ("nom de la feuille").Buttons(rang).Visible = False
Note : Le tableau des boutons de commande a pour nom : Buttons . Le tableau des Cases cocher a pour nom : CheckBoxes . Le tableau des Cases doptions a pour nom : OptionButtons . Le tableau des Zones de liste a pour nom : DropDowns . Le tableau des Zones de texte a pour nom : Labels .
3.- Les boites de dialogues 3.1.- Lobjet UserForm. 3.1.1.- Cration dune UserForm La commande Userform du menu Insertion vous permet de crer des fentres ou des botes de dialogue pour votre projet. Pour crer une fentre, activez la commande UserForm du menu Insertion.
Une fois lobjet UserForm cr, utilisez les boutons de la bote outils pour dessiner des contrles sur la feuille. Vous pouvez aligner automatiquement les contrles sur la grille en choisissant l'option correspondante dans l'onglet Gnral de la bote de dialogue Options. Vous pouvez afficher la grille de feuille et dfinir l'espacement de ses lignes dans l'onglet Gnral de la bote de dialogue Options. 3.1.2.- Modification du nom dune UserForm. slectionnez une UserForm ; dans la partie gauche de la fentre, face Name ,modifiez le nom.
3.1.3.- Modification des proprits dune UserForm. slectionnez une UserForm ; cliquez dans la partie gauche de la fentre, face la proprit modifiez, slectionnez la nouvelle valeur dans le menu droulant. Remarque : Pour connatre la signification dune proprit, cliquez sur le libell de la proprit et appuyez sur la touche F1.
3.2.- La boite outils 3.2.1.- Affichage ou masquage de la bote outils Dans le menu Affichage, regardez si une coche saffiche en regard de Bote outils. Si la coche est prsente, la bote outils saffiche, dans le cas contraire, elle est masque. Choisissez lune des options suivantes : pour afficher la bote outils, vrifiez que la coche apparat en regard de Bote outils. Si ce nest pas le cas, slectionnez Bote outils ; pour masquer la bote outils, vrifiez quaucune coche napparat en regard de Bote outils. Si une coche apparat, slectionnez Bote outils pour la supprimer. 3.2.2.- Les contrles de la bote outils Outil de slection des contrles Intitul Zone de texte Zone de liste modifiable Zone de liste Case cocher Bouton d'option Bouton bascule Cadre Bouton de commande Onglet Multipage Dfilement Toupie Zone d'image
3.2.1.- Intitul ( Label ) Un contrle Label dans une feuille affiche un texte descriptif tel que des titres, des lgendes, des images ou de brves instructions. Par exemple, les tiquettes dun carnet dadresses peuvent inclure un contrle Label pour un nom, une rue ou une ville. Un contrle Label naffiche pas de valeurs issues de sources de donnes ou dexpressions ; il est toujours indpendant et ne change pas lorsque vous vous dplacez dun enregistrement lautre. La proprit par dfaut dun Label est la proprit Caption. Lvnement par dfaut dun Label est lvnement Click. 3.2.2.- Zone de texte ( TextBox ) Le contrle zone de texte est le contrle le plus souvent utilis pour afficher les informations entres par un utilisateur. Il peut galement afficher un ensemble de donnes, tel quune table, une requte, une feuille de programmation ou le rsultat dun calcul. Si un contrle zone de texte est dpendant dune source de donnes, les changements apports au contenu dun contrle zone de texte modifient aussi la valeur de la source de donnes dont il dpend. Le format appliqu toute partie du texte du contrle zone de texte se rpercutera la totalit du texte du contrle. Par exemple, si vous changez la police ou la taille dun caractre du contrle, la modification affecte tous les caractres du contrle. La proprit par dfaut dun contrle zone de texte est la proprit Value. Lvnement par dfaut dun contrle zone de texte est lvnement Change. 3.2.3.- Zone de liste ( ListBox ) Affiche une liste de valeurs et vous permet den slectionner une ou plusieurs. Si le contrle Zone de liste est dpendant dune source de donnes, il enregistre la valeur slectionne dans cette source de donnes. Le contrle Zone de liste peut apparatre sous la forme dune liste, dun groupe de contrles OptionButton ou de contrles CheckBox.
La proprit par dfaut dun contrle Zone de liste est la proprit Value. Lvnement par dfaut dun contrle Zone de liste est lvnement Click. 3.2.4.- Zone de liste modifiable ( ComboBox ) Allie les caractristiques dun contrle Zone de liste et dun contrle zone de texte. Lutilisateur peut entrer une nouvelle valeur, comme dans un contrle zone de texte ou bien slectionner une valeur existante comme dans un contrle Zone de liste. Si un contrle Zone de liste modifiable est dpendant dune source de donnes, il insre dans cette source de donnes la valeur que lutilisateur entre ou slectionne. Si une liste modifiable multicolonne est dpendante, la proprit BoundColumn dtermine la valeur enregistre dans la source de donnes dont dpend la liste modifiable. La liste dun contrle Zone de liste modifiable se compose de lignes de donnes. Chacune delle peut contenir une ou plusieurs colonnes qui peuvent apparatre avec ou sans titre. Certaines applications nutilisent pas les titres de colonne, dautres ne les lutilisent que partiellement. La proprit par dfaut dun contrle Zone de liste modifiable est la proprit Value. Lvnement par dfaut dun contrle Zone de liste modifiable est lvnement Change. 3.2.5.- Case cocher ( CheckBox ) Affiche ltat de la slection dun lment. Utilisez un contrle Case cocher pour permettre lutilisateur de choisir entre deux valeurs telles que Oui/Non, Vrai/Faux ou Actif/Inactif. Quand lutilisateur slectionne un contrle Case cocher, une marque spciale (un X, par exemple) saffiche et sa valeur courante est Oui, Vrai ou Actif ; si lutilisateur ne slectionne pas le contrle Case cocher, celui-ci est vide et sa valeur est Non, Faux ou Inactif. Selon la valeur de la proprit TripleState, un contrle Case cocher peut aussi avoir une valeur nulle. Si un contrle Case cocher est dpendant dune source de donnes, le changement de paramtre modifie la valeur de cette source. Un contrle Case cocher dsactiv affiche sa valeur courante mais il apparat ombr et ne permet pas lutilisateur de modifier sa valeur. Vous pouvez aussi utiliser des cases cocher lintrieur dune zone de groupe pour slectionner un ou plusieurs lments connexes. Par exemple, vous pouvez crer un bon de commande contenant une liste des lments disponibles, en faisant prcder chaque lment dun contrle Case cocher. Lutilisateur peut slectionner un ou plusieurs lments particuliers en cochant le contrle Case cocher correspondant. La proprit par dfaut dun contrle Case cocher est la proprit Value. Lvnement par dfaut dun contrle Case cocher est lvnement Click. 3.2.6.- Bouton doptions ( OptionButton ) Affiche ltat de la slection dun lment faisant partie dun groupe. Utilisez un contrle Bouton doptions pour afficher si un seul lment contenu dans un groupe est slectionn. Tous les contrles Bouton doptions dun contrle Frame sexcluent lun lautre. Si un contrle Bouton doptions est dpendant dune source de donnes, il peut afficher la valeur de cette source de donnes comme tant Oui/Non, Vrai/Faux ou Actif/Inactif. Si lutilisateur slectionne le contrle Bouton doptions, la valeur courante est Oui, Vrai ou Actif ; si lutilisateur ne slectionne pas le contrle Bouton doptions, la valeur est Non, Faux ou Inactif. Par exemple, dans une application de suivi des stocks, un contrle Bouton doptions peut faire apparatre si la production dun lment est arrte. Si le contrle Bouton doptions est dpendant dune source de donnes, le changement de paramtre modifie la valeur de cette source. Un contrle Bouton doptions dsactiv est indisponible et il naffiche aucune valeur. Selon la valeur de la proprit TripleState, un contrle Bouton doptions peut aussi avoir une valeur nulle.
Vous pouvez aussi utiliser un contrle Bouton doptions lintrieur dune zone de groupe pour slectionner un ou plusieurs groupes dlments connexes. Par exemple, vous pouvez crer un bon de commande contenant une liste des lments disponibles, en faisant prcder chaque lment dun contrle Bouton doptions. Lutilisateur peut slectionner un lment particulier en cochant le contrle Bouton doptions correspondant. La proprit par dfaut dun contrle Bouton doptions est la proprit Value. Lvnement par dfaut dun contrle Bouton doptions est lvnement Click. 3.2.7.- Bouton bascule (ToggleButton ) Affiche ltat de la slection dun lment. Utilisez un contrle Bouton bascule pour afficher si un lment est slectionn. Si un contrle Bouton bascule est dpendant dune source de donnes, il affiche la valeur courante de cette source de donnes comme tant Oui/Non, Vrai/Faux, Actif/Inactif ou tout autre choix de deux valeurs. Si lutilisateur slectionne le contrle Bouton bascule, la valeur courante est Oui, Vrai ou Actif ; si lutilisateur ne slectionne pas le contrle Bouton bascule, la valeur est Non, Faux ou Inactif. Si le contrle Bouton bascule est dpendant dune source de donnes, le changement de paramtre modifie la valeur de cette source. Un contrle Bouton bascule dsactiv affiche une valeur, mais il est indisponible et nautorise pas les changements partir de linterface utilisateur. Vous pouvez aussi utiliser un contrle Bouton bascule lintrieur dun contrle Frame pour slectionner un ou plusieurs groupes dlments connexes. Par exemple, vous pouvez crer un bon de commande contenant une liste des lments disponibles, en faisant prcder chaque lment dun contrle Bouton bascule. Lutilisateur peut choisir un lment particulier en slectionnant le Bouton bascule appropri. La proprit par dfaut dun contrle Bouton bascule est la proprit Value. Lvnement par dfaut dun contrle Bouton bascule est lvnement Click. 3.2.8.- Cadre ( Frame ) Cre un groupe de contrles fonctionnel et visuel. Tous les boutons doption dun contrle Cadre sexcluent lun lautre, de sorte que vous pouvez utiliser le contrle Cadre pour crer un groupe doptions. Vous pouvez aussi utiliser un contrle Cadre pour regrouper des contrles dont le contenu est troitement associ. Par exemple, dans une application qui traite les commandes clients, vous pouvez utiliser un contrle Cadre pour regrouper noms, adresses et numros de comptes des clients. Vous pouvez aussi utiliser un contrle Cadre pour crer un groupe de boutons bascules, mais ceux-ci ne sexcluent pas lun lautre. Lvnement par dfaut dun contrle Cadre est lvnement Click. 3.2.9.- Bouton de commande (CommandButton ) Lance, termine ou interrompt une action ou une srie dactions. La macro ou la procdure dvnement affecte lvnement Click du contrle Bouton de commande dtermine laction de celui-ci. Par exemple, vous pouvez crer un contrle Bouton de commande qui ouvre une autre feuille. Vous pouvez aussi afficher un texte, une image ou les deux sur un contrle Bouton de commande. La proprit par dfaut dun contrle Bouton de commande est la proprit Value. Lvnement par dfaut dun contrle Bouton de commande est lvnement Click. 3.2.10.- Onglet ( tabStrip ) Prsente un ensemble de contrles connexes sous forme dun groupe visuel. Vous pouvez utiliser un contrle Onglet pour visualiser diffrents ensembles dinformations. Par
exemple, les contrles peuvent reprsenter des informations relatives lemploi du temps journalier dun groupe de personnes, chaque ensemble dinformations correspondant une personne diffrente du groupe. Dfinissez le titre de chaque onglet pour afficher le nom dune seule personne. Vous pouvez ensuite crire un code qui, quand vous cliquez sur longlet, met jour les contrles pour afficher les informations concernant la personne dont le nom figure sur longlet. La proprit par dfaut dun contrle Onglet est la proprit SelectedItem. Lvnement par dfaut dun contrle Onglet est lvnement Change. 3.2.11.- MultiPage (MultiPage) Le contrle MultiPage est un conteneur dune collection dobjets Pages dans laquelle chaque page contient un ou plusieurs objets Page. Un contrle MultiPage est utile lorsque vous travaillez avec un gros volume dinformations qui peuvent tre tries en plusieurs catgories. Vous pouvez notamment utiliser un contrle MultiPage pour afficher les informations contenues dans une candidature et, par exemple, rserver une page aux renseignements personnels tels que le nom et ladresse, une autre la liste des prcdents employeurs et une troisime la liste des rfrences. Le contrle MultiPage vous permet de combiner visuellement des informations connexes tout en conservant un enregistrement complet facilement accessible. Les nouvelles pages sont ajoutes droite de la page slectionne. La proprit par dfaut dun contrle MultiPage est la proprit Value qui renvoie lindex de la Page couramment active dans la collection de Pages du contrle MultiPage. Lvnement par dfaut dun contrle MultiPage est lvnement Change. 3.2.12.- Barre de dfilement (ScrollBar ) Retourne ou dfinit la valeur dun autre contrle en fonction de la position du curseur de dfilement. Le contrle Barre de dfilement est un contrle autonome que vous pouvez placer sur une feuille. Son aspect visuel est identique celui de la barre de dfilement prsente dans certains objets tels quun contrle Zone de liste ou dans la partie droulante dun contrle Zone de liste modifiable. Toutefois, linverse des barres de dfilement cites dans ces exemples, le contrle Barre de dfilement autonome ne fait pas partie intgrante dun autre contrle. Pour utiliser le contrle Barre de dfilement afin de dfinir ou de lire la valeur dun autre contrle, vous devez crire un code pour les vnements et les mthodes du contrle Barre de dfilement. Par exemple, pour utiliser le contrle Barre de dfilement en vue de mettre jour la valeur dun contrle Zone de texte, vous pouvez crire un code lisant la proprit Value du contrle Barre de dfilement, puis dfinir la proprit Value du contrle Zone de texte. La proprit par dfaut dun contrle Barre de dfilement est la proprit Value. Lvnement par dfaut dun contrle Barre de dfilement est lvnement Change. Pour crer un contrle Barre de dfilement vertical ou horizontal, faites glisser les poignes de redimensionnement du contrle Barre de dfilement horizontalement ou verticalement sur la feuille. 3.2.13.- Toupie (SpinButton ) Incrmente et dcrmente des nombres. Cliquer sur un contrle Toupie ne modifie que la valeur de celui-ci. Vous pouvez crire un code qui utilise le contrle Toupie pour mettre jour la valeur affiche dun autre contrle. Par exemple, vous pouvez utiliser un contrle Toupie pour changer le mois, le jour ou lanne dans une date. Vous pouvez aussi utiliser un contrle Toupie pour faire dfiler une srie de valeurs ou une liste dlments, ou bien pour modifier la valeur affiche dans une zone de texte.
Pour afficher une valeur mise jour laide dun contrle Toupie, vous devez affecter la valeur du contrle Toupie la partie affiche dun contrle telle que la proprit Caption dun contrle Label ou la proprit Text dun contrle Zone de texte. Pour crer un contrle Toupie horizontal ou vertical, faites glisser les poignes de redimensionnement du contrle Toupie horizontalement ou verticalement sur la feuille. La proprit par dfaut dun contrle Toupie est la proprit Value. Lvnement par dfaut dun contrle Toupie est lvnement Change. 3.2.14.- Zone dImage ( Image ) Le contrle Image vous permet dafficher une image comme partie des donnes contenues dans une feuille. Par exemple, vous pouvez utiliser un contrle Image pour afficher la photographie des employs dans une feuille du personnel. Le contrle Image vous permet de couper, de redimensionner ou deffectuer un zoom avant ou arrire sur limage, mais ne vous permet pas den modifier le contenu. Par exemple, vous ne pouvez utiliser le contrle Image pour modifier les couleurs dune image, pour la rendre transparente ou pour affiner la vue de limage. Pour effectuer ces oprations, il vous faut un logiciel de traitement dimage. Le contrle Image supporte les formats de fichiers suivants : *.bmp, *.cur, *.gif, *.ico, *.jpg, *.wmf 3.3.- Les contrles supplmentaires Pour afficher ou supprimer des contrles de la bote outils : 1. Cliquez avec le bouton droit dans la bote outils. 2. Slectionnez la commande Contrles supplmentaires .
1 2
3.4.- Modification dun contrle 3.4.1.- Modification du nom 1. slectionnez le contrle ; 2. dans la partie gauche de la fentre, face Name ,modifiez le nom.
3.4.2.- Modification dune proprit 1. slectionnez le contrle ; 2. cliquez dans la partie gauche de la fentre, face la proprit modifiez, slectionnez la nouvelle valeur dans le menu droulant.
1 2
Remarque : Pour connatre la signification dune proprit, cliquez sur le libell de la proprit et appuyez sur la touche F1.
3.5.- La superposition des contrles On utilise la notion de hirarchie pour superposer les contrles. Pour avancer ou pour reculer un contrle dans la hirarchie: slectionnez le contrle repositionner ; dans le menu Format, slectionnez Ordre ; dans le menu en cascade, slectionnez Amener au premier plan ou Envoyer larrire- plan . Pour dplacer un contrle dune position dans la hirarchie : slectionnez le contrle repositionner. dans le menu Format, slectionnez Ordre . dans le menu en cascade, slectionnez Amener vers lavant ou Envoyer vers larrire .
4.- Les menus 4.1.- Le menu barre Pour crer une nouvelle barre de menu dans votre application, il faut utiliser loutil personnalis dExcel.
Une fois le menu cr (Cf. documentation sur Excel), il est possible dans votre code Visual Basic de le rendre visible ou non en utilisant la fonction CommandBars . Cette fonction peut galement tre utilise pour les menus prdfinis du logiciel Excel ( standard , mise en forme ). Ci-dessous un exemple de code lanc au dmarrage dune application (dans la mthode auto_open Cf. chapitre 7.1). Ce code permet de rendre invisible les menus standard et mise en forme et de rendre visible un menu cr par le programmeur appel Saisie .
Sub auto_open () Application.CommandBars("Standard").Visible = False Application.CommandBars("Formatting").Visible = False Application.CommandBars("Saisie").Visible = True End Sub
4.2.- Le menu contextuel Cest le menu qui sactive lorsque vous cliquez sur le bouton droit de la souris. Il est possible de supprimer certaines lignes de ce menus et den crer de nouvelles. En slectionnant une ligne de ce menu vous pouvez dclencher un module (et donc un traitement). Ci-dessous le code permettant dactiver le menu contextuel sur le fond dune feuille Excel en cliquant sur le bouton droit de la souris. Dans ce cas, les lignes 4 et 5 du menu existant sont remplaces par deux lignes permettant dactiver les modules Moyenne par lve et Moyenne par Matire . Lobjet menu contextuel est un objet de la classe CommandBars .
Private cbBar As CommandBar CommandBar sans s ! Sub Active_Menu_contextuel() Set cbBar = CommandBars("Cell") 'Cell est le menu contextuel des cellules cbBar.Controls(4).Delete 'Dtruit le 4eme choix (en partant d'en 'haut) du menu contextuel existant cbBar.Controls(5).Delete cbBar.Controls(4).FaceId = 0 'Efface le bouton du menu cbBar.Controls(4).Caption = "Moyenne par lve" 'libell dans le menu cbBar.Controls(4).OnAction = "MoyParEleve" 'Active la macro MoyParEleve cbBar.Controls(5).FaceId = 0 'Efface le bouton du menu cbBar.Controls(5).Caption = "Moyenne par matire" 'libell dans le menu cbBar.Controls(5).OnAction = "MoyParMat" 'Active la macro MoyParMat End Sub
Attention, il est indispensable de dsactiver le menu contextuel pour quil ne soit plus visible l cran.
Sub Desactive_Menu_contextuel() CommandBars("cell").Reset End Sub
Si vous voulez ajouter plus de lignes quil y en avait dans le menu dorigine (9 dans lexemple ci-dessous), il faut crire le code suivant avant dajouter de nouvelles lignes dans le menu.
Private cbctl As CommandBarControl a ajouter aux declarations lIndex = 9 on ajoute une 9eme ligne Set cbctl = cbBar.Controls.Add(Type:=msoControlButton, Before:=lIndex)
Insertion de Moyenne par lve en ligne 4 et de Moyenne par Matire en ligne 5.
5.- Rponses aux vnements Votre application doit pouvoir ragir aux divers vnements, par exemple excuter une procdure lorsquune feuille est active, ou lorsque la valeur dune cellule est modifie. Dans la fentre de code, pour chaque objet, ou chaque contrle vous avez une liste de procdures vnementielles dans lesquelles vous pouvez ajouter du code qui sexcutera lors de la dtection de lvnement correspondant. Exemple 1 : Supposons que vous dsirez excuter une tche lorsque la fentre dun classeur est redimensionne : 1. dans la fentre du projet, vous slectionnez lobjet Classeur ; 2. dans la fentre de code du classeur, vous slectionnez Workbook ; 3. dans la liste des procdures vnementielles vous slectionnez WindowResize ; 4. il ne vous reste plus qu crire le code lintrieur de la procdure cre par Visual Basic. 1 2 2 3 4
Exemple 2 : Supposons que vous dsirez excuter une tche lorsque lon cliquera sur un contrle. 1. Dans la fentre du projet, slectionnez la feuille ou la bote de dialogue contenant le contrle ; 2. Cliquez sur licne pour afficher la fentre de code ; 3. Slectionnez le contrle ; 4. Slectionnez lvnement ; 5. Il ne vous reste plus qu crire le code lintrieur de la procdure cre par Visual Basic. 1 2 3 4 5
6.- Laide en ligne sur les procdures vnementielles Pour revenir aux exemples de la page prcdente, supposons que nous voulions avoir de laide sur la procdure vnementielle WindowResize . 1. affichez lexplorateur dobjets ; 2. slectionnez la bibliothque Excel ; 3. slectionnez Workbook ; 2 3 4
4. slectionnez WindowResize ; 5. appuyer sur la touche F1 pour obtenir laide ci-dessous. WindowResize, vnement Voir aussi Exemple S'applique Cet vnement survient ds que la fentre d'un classeur est redimensionne. Syntaxe Private Sub object_WindowResize (ByVal Wb As Excel.Workbook, ByVal Wn As Excel.Window) object Application ou Workbook. Pour plus d'informations sur l'utilisation d'vnements avec l'objet Application, consultez Utilisation d'vnements avec l'objet Application. Wb Utilis uniquement avec l'objet Application. Classeur affich dans la fentre redimensionne. Wn Fentre redimensionne. On ferais de mme pour lexemple 2 de la page prcdente : 1. affichez lexplorateur dobjet ; 2. slectionnez la bibliothque MSForms ; 3. slectionnez CommandButton . 2 3 4
4. slectionnez Click ; 5. appuyer sur la touche F1 pour obtenir laide en ligne.
7.- Actions possibles sur un document Excel 7.1.- Ouverture et fermeture dun document Excel Si vous voulez effectuer un traitement au moment de louverture dun document Excel, vous devez crire votre code dans un module particulier ayant pour nom : auto_open(). Il est intressant deffectuer la phase dinitialisation dans ce module.
Sub auto_open () Call Initialisation appel dun module Initialisation End Sub
De mme, si vous voulez effectuer un traitement au moment de la fermeture dun document Excel, vous devez crire votre code dans un module particulier ayant pour nom : auto_close().
Sub auto_close () ... End Sub
7.2.- Actions sur lobjet feuille Excel Masquer une feuille de calcul If Sheets("NomOnglet").Visible Then Sheets("NonOnglet").Visible = False Dmasquer une feuille de calcul If Not Sheets("NomOnglet").Visible Then Sheets("NonOnglet").Visible = True Oter la protection dune feuille de calcul Sheets("NomOnglet").Select ActiveSheet.Unprotect Protger une feuille de calcul Sheets("NomOnglet").Select ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True Lancer l'impression dune feuille Sheets("NomOnglet").Select ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True
7.3.- Actions sur lobjet cellule Excel Affecter la valeur dune cellule une variable. MaVariable = Sheets("NomOnglet").Cells (N de ligne, N de colonne).Value Affecter la valeur dune variable une cellule. Sheets("NomOnglet").Cells(N de ligne, N de colonne).Value = MaVariable Obtenir ladresse de la cellule active 'Renvoi sous la forme R3C4 Dim RefCel As String RfCel = ActiveCell.Address(ReferenceStyle:=xlR1C1) 'Pour obtenir la ligne et la colonne Dim Ligne As Integer, Colonne As Integer Ligne = CInt(Mid$(RefCel, 2, InStr(RefCel, "C") - 2)) Colonne = CInt(Mid$(RefCel, InStr(RefCel, "C") + 1)) Obtenir ladresse de la plage de cellules slectionnes ReferenceCelluleActive = Selection.Address(ReferenceStyle:=xlR1C1) 'Renvoi R3C4:R10C5 Slectionner une cellule Sheets("NomOnglet").Cells(2,2).Select Activer une cellule Sheets("NomOnglet").Cells(2,2).Activate Dplacer la cellule active dune colonne ActiveCell.Offset(0,1).Activate Dplacer la cellule active dune ligne ActiveCell.Offset(1,0).Activate Slectionner une plage de cellules With Sheets("NomOnglet ") Range(.Cells(1,1), .Cells(5,5)).Select End With Slectionner plusieurs plages de cellules Sub SlectionMultiple() Dim r1, r2, plusieursPlages As Range Set r1 = Sheets("NomOnglet ").Range(Cells(1,1), Cells(5,2)) Set r2 = Sheets("NomOnglet ").Range(Cells(1,6), Cells(5,8)) Set plusieursPlages = Union(r1,r2) plusieursPlages.Select End Sub Affecter une formule une cellule Cells(7, 1).Select ActiveCell.FormulaR1C1 = "=SUM(R[-6]C:R[-1]C)"
7.4.- Autres actions sur des objets Excel Supprimer la mise jour de lcran Application.ScreenUpdating = False Autoriser la mise jour de lcran Application.ScreenUpdating = True Demander une information lutilisateur MaVariable = InputBox("Entrez le n de la commande supprimer", "") Envoyer un message lutilisateur Dim message as string , rep as integer Chr(13) Pour aller la ligne message = "ATTENTION : Vous avez oubli d'indiquer le code comptable" + Chr$(13) + Chr$(13) + "Opration annule!.." rep = MsgBox(message, 48, "") Supprimer une ligne Rows(N de la ligne).Select Selection.Delete Shift:=xlUp Insrer une ligne Rows("N de la ligne ").Select Selection.Insert Shift:=xlDown Charger en mmoire une boite de dialogue UserForm Load UserForm1 Charge un objet sans lafficher Dcharger une boite de dialogue UserForm Unload UserForm1 Affichage dune bote de dialogue UserForm UserForm1.Show Si lobjet spcifi nest pas charg lors de lappel de la mthode Show, Visual Basic le charge automatiquement.
Remarque : Un objet UserForm est toujours modal, il en rsulte que lutilisateur doit toujours rpondre avant dutiliser une autre partie de lapplication. Aucun autre code ne sexcutera tant que lobjet UserForm ne sera pas masqu ou dcharg. Bien que les autres feuilles de lapplication soient dsactives pendant laffichage dun objet UserForm, les autres applications ne le sont pas. Masquer dune bote de dialogue UserForm UserForm1.Hide Masque un objet sans le dcharger. Rcuprer linformation contenue dans une zone de texte MonTexte = NomUserForm.NomZoneDeTexte.Text
Test dune case cocher If NomUserForm.NomCasecocher Then La case est coche Else La case nest pas coche End If Test dune case doption If NomUserForm.NomCaseOptionThen Loption est coche Else Loption nest pas coche End If Rcuprer linformation slectionne dans une zone de liste NomSlection = NomUserForm.NomListe.value 7.5.- Quelques exemples dactions plus complexes Ajout et suppression dans une listBox Lexemple suivant ajoute et supprime le contenu dun contrle ListBox . un contrle ListBox nomm ListBox1, et 2 contrles CommandButton nomms CommandButton1 et CommandButton2.
Dim EntryCount As Single Private Sub CommandButton1_Click() EntryCount = EntryCount + 1 UserForm1.ListBox1.AddItem (EntryCount & " - Slection") End Sub Private Sub CommandButton2_Click() With UserForm1 ListBox1.SetFocus 'Vrifiez que le contrle ListBox contient des lments de liste If ListBox1.ListCount >= 1 Then 'Si aucune slection, choisissez le 'dernier lment de la liste. If ListBox1.ListIndex = -1 Then ListBox1.ListIndex = ListBox1.ListCount-1 End If ListBox1.RemoveItem (ListBox1.ListIndex) End If End With End Sub Private Sub UserForm_Initialize() EntryCount = 0 CommandButton1.Caption = "Ajoutez llment" CommandButton2.Caption = "Supprimez llment" End Sub Transfert de donnes vers le Presse-papiers Lexemple suivant illustre les mouvements de donnes dun contrle TextBox vers le Presse- papiers, du Presse-papiers vers un objet DataObject et dun objet DataObject vers un autre contrle TextBox. La mthode GetFromClipboard transfre les donnes du Presse-papiers vers un objet DataObject. Les mthodes Copy et GetText sont aussi utilises. Deux contrles TextBox (TextBox1, TextBox2) et un contrle CommandButton (CommandButton1) sont crs.
Dim MyData As DataObject Private Sub CommandButton1_Click() 'Slectionnez un texte avant de le 'copier dans le Presse-papiers TextBox1.SelStart = 0 TextBox1.SelLength = TextBox1.TextLength TextBox1.Copy MyData.GetFromClipboard TextBox2.Text = MyData.GetText(1) End Sub Private Sub UserForm_Initialize() Set MyData = New DataObject TextBox1.Text = "Placez ces donnes dans " & _ "le Presse-papiers, dans un objet " & _ "DataObject, puis dans le contrle " & "TextBox2 !" End Sub
Lexemple suivant illustre les mouvements de donnes dun contrle TextBox vers un objet DataObject, dun objet DataObject vers le Presse-papiers et du Presse-papiers vers un autre contrle TextBox. La mthode PutInClipboard transfre les donnes dun objet DataObject vers le Presse-papiers. Les mthodes SetText et Paste sont aussi utilises. Deux contrles TextBox (TextBox1 et TextBox2) et un contrle CommandButton (CommandButton1) sont crs.
Dim MyData As DataObject Private Sub CommandButton1_Click() Set MyData = New DataObject MyData.SetText TextBox1.Text MyData.PutInClipboard TextBox2.Paste End Sub Private Sub UserForm_Initialize() TextBox1.Text = "Placez ces donnes dans un " & _ "objet DataObject, dans le " & _ " Presse-papiers, puis dans " & _ "le contrle TextBox2 !" End Sub
Annexes A1.- Constantes, Boutons et icnes des boites de messages Un message dans une bote de dialogue attend que l'utilisateur clique sur un bouton puis renvoie une valeur de type Integer qui indique le bouton choisi par l'utilisateur.
Facultatif : expression numrique qui reprsente la somme des valeurs indiquant le nombre et le type de boutons afficher, le style d'icne utiliser, l'identit du bouton par dfaut, ainsi que la modalit du message. Si l'argument buttons est omis, sa valeur par dfaut est 0.
L'argument buttons peut prendre les valeurs suivantes :
Constante Valeur Description vbOKOnly 0 Affiche le bouton OK uniquement. vbOKCancel 1 Affiche les boutons OK et Annuler. vbAbortRetryIg nore 2 Affiche le bouton Abandonner, Ressayer et Ignorer. vbYesNoCancel 3 Affiche les boutons Oui, Non et Annuler. vbYesNo 4 Affiche les boutons Oui et Non. vbRetryCancel 5 Affiche les boutons Ressayer et Annuler.
vbCritical
16 Affiche l'icne Message critique.
vbQuestion
32 Affiche l'icne Requte d'avertissement.
vbExclamation
48 Affiche l'icne Message d'avertissement.
vbInformation
64 Affiche l'icne Message d'information.
vbDefaultButton 1 0 Le premier bouton est le bouton par dfaut. vbDefaultButton 2 256 Le deuxime bouton est le bouton par dfaut. vbDefaultButton 3 512 Le troisime bouton est le bouton par dfaut. vbDefaultButton 4 768 Le quatrime bouton est le bouton par dfaut. vbApplicationM odal 0 Bote de dialogue modale. L'utilisateur doit rpondre au message affich dans la zone de message avant de pouvoir continuer de travailler dans l'application en cours. vbSystemModal 4096 Modal systme. Toutes les applications sont interrompues jusqu' ce que l'utilisateur rponde au message affich dans la zone de message.
Le premier groupe de valeurs (0 5) dcrit le nombre et le type de boutons affichs dans la bote de dialogue. Le deuxime groupe (16, 32, 48 et 64) dcrit le style d'icne. Le troisime groupe
(0, 256 et 512) dfinit le bouton par dfaut. Enfin, le quatrime groupe (0 et 4 096) dtermine la modalit de la zone de message. Au moment d'additionner ces nombres pour obtenir la valeur finale de l'argument buttons, ne slectionnez qu'un seul nombre dans chaque groupe.
Note Ces constantes sont indiques par Visual Basic pour Applications. Vous pouvez par consquent les utiliser n'importe o dans votre code la place des valeurs relles correspondantes.
A2.- Constantes de code de touches Les constantes suivantes peuvent remplacer les valeurs relles partout dans votre code :
Constante Valeur Description vbKeyLButton 0x1 Bouton gauche de la souris vbKeyRButton 0x2 Bouton droit de la souris vbKeyCancel 0x3 Touche ANNULER vbKeyMButton 0x4 Bouton secondaire de la souris vbKeyBack 0x8 Touche RET.ARR vbKeyTab 0x9 Touche TAB vbKeyClear 0xC Touche EFFACER vbKeyReturn 0xD Touche ENTRE vbKeyShift 0x10 Touche MAJ vbKeyControl 0x11 Touche CTRL vbKeyMenu 0x12 Touche MENU vbKeyPause 0x13 Touche PAUSE vbKeyCapital 0x14 Touche VERR.MAJ vbKeyEscape 0x1B Touche CHAP vbKeySpace 0x20 Touche ESPACE vbKeyPageUp 0x21 Touche PG.PRC vbKeyPageDown 0x22 Touche PG.SUIV vbKeyEnd 0x23 Touche FIN vbKeyHome 0x24 Touche ORIGINE vbKeyLeft 0x25 Touche FLCHE GAUCHE vbKeyUp 0x26 Touche FLCHE HAUT vbKeyRight 0x27 Touche FLCHE DROITE vbKeyDown 0x28 Touche FLCHE BAS vbKeySelect 0x29 Touche SLECTION vbKeyPrint 0x2A Touche IMPR.CRAN vbKeyExecute 0x2B Touche EXCUTER vbKeySnapshot 0x2C Touche SNAPSHOT vbKeyInsert 0x2D Touche INSER vbKeyDelete 0x2E Touche SUPPR vbKeyHelp 0x2F Touche AIDE vbKeyNumlock 0x90 Touche VERR.NUM
Les touches A Z sont les mmes que leurs quivalents ASCII :
Constante Valeur ascii Description vbKeyA 65 Touche A vbKeyB 66 Touche B vbKeyC 67 Touche C vbKeyD 68 Touche D vbKeyE 69 Touche E vbKeyF 70 Touche F vbKeyG 71 Touche G vbKeyH 72 Touche H vbKeyI 73 Touche I
vbKeyJ 74 Touche J vbKeyK 75 Touche K vbKeyL 76 Touche L vbKeyM 77 Touche M vbKeyN 78 Touche N vbKeyO 79 Touche O vbKeyP 80 Touche P vbKeyQ 81 Touche Q vbKeyR 82 Touche R vbKeyS 83 Touche S vbKeyT 84 Touche T vbKeyU 85 Touche U vbKeyV 86 Touche V vbKeyW 87 Touche W vbKeyX 88 Touche X vbKeyY 89 Touche Y vbKeyZ 90 Touche Z
Les touches 0 9 sont les mmes que leurs quivalents ASCII :