Vous êtes sur la page 1sur 64

CPR Informatique

(poste 3159 ou 3164) Mai 2002

Visual Basic v 6.0

Table des matires


1.- LES PRINCIPAUX CONCEPTS DE VISUAL BASIC .....................................................................................3 1.1.- PRESENTATION GENERALE ................................................................................................................................3 1.2- LE MODELE EVENEMENTIEL ...............................................................................................................................3 1.3- LA NOTION DOBJET ...........................................................................................................................................4 1.4- LES NOTIONS DE METHODE ET DE PROPRIETE .....................................................................................................4 2.- LA SYNTAXE DE VISUAL BASIC ....................................................................................................................5 2.1.- LES TYPES DE DONNEES ....................................................................................................................................5 2.2.- LES INSTRUCTIONS ............................................................................................................................................9 2.3.- LES MODULES .................................................................................................................................................12 2.4.- PORTEE ET DUREE DE VIE DES VARIABLES.......................................................................................................17 2.5.- LES FICHIERS...................................................................................................................................................19 3.- PRISE EN MAIN DE LENVIRONNEMENT .................................................................................................22 3.1.- DMARRAGE DE VISUAL BASIC ......................................................................................................................22 3.2.- LES ELEMENTS DE LENVIRONNEMENT ...........................................................................................................23 4.- STRUCTURE D'UNE APPLICATION VISUAL BASIC................................................................................25 5.- APPRENTISSAGE PAR LEXEMPLE ............................................................................................................27 5.1.- CREATION DE L'INTERFACE .............................................................................................................................27 5.2. - DEFINITION DES PROPRIETES ..........................................................................................................................29 5.3. - CRITURE DU CODE ........................................................................................................................................30 5.4. - EXECUTION DE L'APPLICATION .......................................................................................................................31 6. - UTILISATION DE L'DITEUR DE CODE....................................................................................................32 7. - UTILISATION DES OBJETS ...........................................................................................................................35 7.1. - PRESENTATION DES OBJETS............................................................................................................................35 7.2. - ORIGINE DES OBJETS ......................................................................................................................................35 7.3. - PRINCIPES D'UTILISATION ELEMENTAIRES DES OBJETS ...................................................................................36 7.4. - CONTROLE DES OBJETS AU MOYEN DE LEURS PROPRIETES .............................................................................37 7.5. - EXECUTION D'ACTIONS AU MOYEN DE METHODES .........................................................................................38 7.6. - RELATIONS ENTRE LES OBJETS .......................................................................................................................38 8. - CREATION D'OBJETS.....................................................................................................................................41 8.1. - LES VARIABLES OBJET ...................................................................................................................................41 8.2. - LES MODULES DE CLASSES .............................................................................................................................42 8.3. - LES COLLECTIONS DOBJETS ..........................................................................................................................42 9. - BOITES DE DIALOGUE ..................................................................................................................................43 9.1. - BOITES DE DIALOGUE MODALES ET NON MODALES ........................................................................................43 9.2. - UTILISATION DE BOITES DE DIALOGUE PREDEFINIES ......................................................................................44 9.3. - UTILISATION DE FEUILLES COMME BOITES DE DIALOGUE PERSONNALISEES ...................................................45 10. - CREATION DE MENUS .................................................................................................................................49 10.1. - AFFICHER LE CREATEUR DE MENUS .............................................................................................................49 10.2. - UTILISATION DU CONTROLE LISTBOX DANS LE CREATEUR DE MENUS.........................................................49 10.3. - SEPARATION DES ELEMENTS D'UN MENU ......................................................................................................50 10.4. - AFFECTATION DE TOUCHES D'ACCES RAPIDE ET DE RACCOURCI...................................................................51 ANNEXES..................................................................................................................................................................53 A1. LES CONTROLES LES PLUS COURANTS ...........................................................................................................53 A2.- LES MOTS CLES CLASSES PAR DOMAINES ........................................................................................................58 A3.- CONSTANTES DE CODE DE TOUCHES................................................................................................................62

1.- Les principaux concepts de Visual Basic


1.1.- prsentation gnrale
Visual Basic est un langage de programmation orient objet de Microsoft qui permet de programmer des applications indpendantes sous lenvironnement Windows. Il est intgr dans tous les logiciels de Bureautique de MicroSoft (Word, Excel, Access) sous le nom de : VBA (Visual Basic Application). Visual Basic est un langage interprt. Pour comprendre le processus de dveloppement dune application, il est utile dassimiler certains concepts sur lesquels est fond Visual Basic. Comme il sagit dun langage de dveloppement Windows, il convient galement de stre familiaris avec lenvironnement Windows. Le fonctionnement de Windows sarticule autour de trois concepts essentiels. les fentres ; les vnements ; les messages. Considrons quune fentre est une zone rectangulaire dote de ses propres limites. Nous connaissons tous une fentre de document dans un programme de traitement de texte ou une fentre de boite de dialogue quelconque. Sil sagit l des exemples les plus courants, il existe bien dautres types de fentres. Un bouton de commande, les icnes, les zones de texte, les boutons doptions, les barres de menus constituent tous des fentres. Windows grent ces nombreuses fentres en affectant chacune delles un numro didentification unique ( hWnd ). Le systme surveille en permanence chacune de ces fentres de faon dceler le moindre vnement. Les vnement peuvent tre engendrs par des actions de lutilisateur, par un contrle programm, voire par des actions dune autre fentre. Chaque fois quun vnement survient, un message est envoy au systme dexploitation, qui traite le message et le diffuse aux fentres concernes. La plupart de ces messages de bas niveau sont grs par Visual Basic tandis que dautres sont mis votre disposition sous forme de procdures vnementiels.

1.2- Le modle vnementiel


Dans les applications traditionnelles, dites procdurales , les instructions commencent la premire ligne de code et se droulent suivant un chemin dfini dans lapplication, appelant les procdures au fur et mesure des besoins. Dans une application vnementielle , le code ne suit pas un chemin prdtermin. Diffrentes sections du code sont excutes en fonction des vnements qui se produisent. Vous ne pouvez prvoir lordre des vnements, en revanche vous devez prvoir les vnements qui peuvent se produire et votre code doit tre en mesure de les traiter.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 3/64

1.3- La notion dobjet


Un objet reprsente un lment d'une application. Une feuille de calcul, une cellule, un graphique pour Excel, un formulaire, une table ou un tat pour Access sont des objets. Dans un code Visual Basic, vous devez identifier un objet avant de pouvoir appliquer l'une des mthodes de l'objet ou modifier la valeur de l'une de ses proprits. Une collection est un objet contenant plusieurs autres objets, gnralement, mais pas toujours, du mme type. Dans Microsoft Excel, par exemple, l'objet Workbooks contient tous les objets Workbook. Dans Visual Basic, la collection Forms contient tous les objets Form d'une application. Les lments d'une collection peuvent tre identifis par numro ou par nom. Vous pouvez galement manipuler toute une collection d'objets si les objets partagent des mthodes communes.

1.4- Les notions de mthode et de proprit


Une mthode est une action qu'un objet peut excuter. Par exemple, Add est une mthode de l'objet ComboBox qui ajoute une nouvelle entre une liste modifiable. Une proprit est un attribut d'un objet dfinissant l'une des caractristiques de l'objet telle que la taille, la couleur ou la position l'cran, ou un aspect de son comportement, par exemple s'il est activ ou visible. Pour changer les caractristiques d'un objet il faut changer les valeurs de ses proprits. Pour dfinir la valeur d'une proprit, faites suivre la rfrence d'un objet d'un point, du nom de la proprit, d'un signe gal (=) et de la nouvelle valeur de proprit. Certaines proprits ne peuvent pas tre dfinies. La rubrique d'aide de chaque proprit indique si vous pouvez la dfinir (lecture-criture), seulement la lire (lecture seule) ou seulement y crire (criture seule). Vous pouvez extraire des informations sur un objet en renvoyant la valeur de l'une de ses proprits. Le chapitre 7 de ce document ( Utilisation des objets ) dtaille lensemble de ces notions.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 4/64

2.- La syntaxe de Visual Basic


Un programme crit en Visual Basic est un ensemble de fichiers textes documents (appels sources) respectant une syntaxe prcise. Les commentaires sont des caractres, de prfrence non accentus, ignors par linterprteur et ne servant qu' documenter le programme. Les lignes de commentaires dbutent par une apostrophe (') ou par le mot Rem suivi d'un espace et peuvent tre insres n'importe o dans une procdure Les commentaires peuvent expliquer une procdure ou une instruction particulire au lecteur de votre code. Par dfaut, les commentaires s'affichent en vert. Rgles daffectation des noms Utilisez les rgles suivantes pour nommer des procdures, des constantes, des variables et des arguments dans un module Visual Basic : Utilisez une lettre comme premier caractre ; N'utilisez pas d'espace, de point (.), de point d'exclamation (!) ou les caractres @, &, $, # dans le nom ; Un nom ne peut compter plus de 255 caractres ; Gnralement, vous ne devriez pas utiliser des noms identiques aux noms de fonction, d'instruction et de mthode de Visual Basic. Vous feriez double emploi des mots cls du langage. Pour utiliser une fonction, une instruction ou une mthode du langage intrinsque en conflit avec un nom attribu, vous devez l'identifier explicitement. Faites prcder la fonction, l'instruction ou la mthode intrinsque du nom de la bibliothque de types associe. Par exemple, si vous avez une variable nomme Left, pour invoquer la fonction Left, vous devez employer VBA.Left ; Vous ne pouvez pas employer deux fois le mme nom au mme niveau de porte. Par exemple, vous ne pouvez pas dclarer deux variables nommes age dans la mme procdure. Cependant, vous pouvez dclarer une variable prive nomme age et une variable de niveau procdure nomme age dans le mme module.

Note : Visual Basic ne diffrencie pas les majuscules des minuscules, mais conserve la casse dans l'instruction de dclaration du nom.

2.1.- Les types de donnes


2.1.1.- Les types prdfinis Boolean Les variables de type Boolean sont stockes sous la forme de nombres de 16 bits (2 octets), mais elles ne peuvent avoir pour valeur que True ou False. Elles s'affichent sous la forme True et False (avec l'instruction Print) ou #TRUE# et #FALSE# (avec l'instruction Write #). Utilisez les mots cls True et False pour faire passer d'un tat l'autre des variables de type Boolean . Lorsque d'autres types de donnes numriques sont convertis en valeurs de type Boolean, 0 devient False et toutes les autres valeurs deviennent True. Lorsque des valeurs de type Boolean sont converties en d'autres types de donnes, False devient 0 et True devient -1. Byte Les variables de type Byte sont stockes sous la forme d'un nombre de 8 bits (1 octet unique), non sign, compris entre 0 et 255. Le type de donnes Byte est utile pour le stockage d entiers de petite taille.
IGN/ENSG/CPRI Visual Basic v 6.0 page 5/64

Currency Les variables de type Currency sont stockes sous la forme de nombres de 64 bits (8 octets) au format entier, avec un dcalage de 10 000 afin d'obtenir un nombre virgule fixe comprenant 15 chiffres gauche du sparateur dcimal et 4 chiffres droite. Cette reprsentation offre une plage comprise entre -922 337 203 685 477,5808 et 922 337 203 685 477,5807. Le caractre de dclaration de type pour les variables de type Currency est le signe @. Le type de donnes Currency est utile pour les calculs montaires et pour les calculs virgule fixe dans lesquels la prcision revt une importance particulire. Date Les variables de type Date sont stockes sous la forme de nombres virgule flottante de 64 bits (8 octets) IEEE reprsentant des dates comprises entre le 1er janvier 100 et le 31 dcembre 9999, et des heures allant de 0:00:00 23:59:59. Toute valeur de littral de date peut tre attribue une variable de type Date . Les littraux date doivent tre dlimits par le signe #, par exemple #January 1, 1993# ou #1 Jan 93#. Les variables de type Date affichent les dates au format de date abrg reconnu par votre ordinateur. Les heures s'affichent au format horaire (plage de 12 ou 24 heures) dfini dans votre ordinateur. Lorsque d'autres types de donnes numriques sont convertis en donnes de type Date , les valeurs situes gauche du sparateur dcimal reprsentent la date, tandis que celles situes droite correspondent l'heure. Minuit est reprsent par 0 et midi par 0,5. Les nombres entiers ngatifs reprsentent des dates antrieures au 30 dcembre 1899. Decimal Les variables de type Decimal sont stockes sous la forme d'entiers de 96 bits (12 octets), non signs, dcals d'une puissance de 10 variable. Le facteur de dcalage (puissance de 10), qui dfinit le nombre de chiffres situs droite du sparateur dcimal, est compris entre 0 et 28. Avec un dcalage de 0 (pas de dcimales), la valeur maximale est +/79 228 162 514 264 337 593 543 950 335. Avec 28 dcimales, la valeur maximale est +/7,9228162514264337593543950335 et la valeur minimale diffrente de zro est +/0,0000000000000000000000000001. Pour le moment, le type de donnes Decimal ne peut tre utilis qu'avec une donne de type Variant . En d'autres termes, il est impossible d'attribuer une variable le type Decimal . Vous pouvez en revanche crer une variable de type Variant dont le sous-type est Decimal l'aide de la fonction CDec. Double Les variables de type Double ( virgule flottante en double prcision) sont stockes sous la forme de nombres virgule flottante de 64 bits (8 octets) IEEE dont la valeur est comprise entre -1,79769313486232E308 et -4,94065645841247E-324 pour les nombres ngatifs et entre 4,94065645841247E-324 et 1,79769313486232E308 pour les positifs. Le caractre de dclaration de type pour une variable de type Double est le signe #. Integer Les variables de type Integer sont stockes sous la forme de nombres de 16 bits (2 octets) dont la valeur est comprise entre -32 768 et 32 767. Le caractre de dclaration de type pour les variables de type Integer est le signe %. Les variables de type Integer permettent galement de reprsenter des valeurs numres. Celles-ci peuvent contenir un ensemble fini d'entiers uniques possdant tous une signification particulire dans le contexte o ils sont utiliss. Elles permettent d'oprer facilement une
IGN/ENSG/CPRI Visual Basic v 6.0 page 6/64

slection parmi un nombre connu de choix, du type noir = 0, blanc = 1, etc. Il est conseill de dfinir des constantes pour chaque valeur numre via l'instruction Const. Long Les variables de type Long (entier long) sont stockes sous la forme de nombres signs de 32 bits (4 octets) dont la valeur est comprise entre -2 147 483 648 et 2 147 483 647. Le caractre de dclaration de type pour les variables de type Long est le signe &. Object Les variables de type Object sont stockes sous la forme d'adresses 32 bits (4 octets) qui font rfrence des objets. L'instruction Set permet d'affecter une rfrence d'objet une variable dclare comme Object . Une variable dclare comme Object est suffisamment flexible pour contenir une rfrence n'importe quel type d'objet, mais la liaison l'objet dsign par la variable est effectue au moment de l'excution. Pour obtenir une liaison au moment de la compilation, attribuez la rfrence d'objet une variable dclare avec un nom de classe spcifique. Single Les variables de type Single ( virgule flottante en simple prcision) sont stockes sous la forme de nombres virgule flottante de 32 bits (4 octets) IEEE dont la valeur est comprise entre -3,402823E38 et -1,401298E-45 pour les nombres ngatifs et entre 1,401298E-45 et 3,402823E38 pour les positifs. Le caractre de dclaration de type pour les variables de type Single est le point d'exclamation (!). String Il existe deux types de chanes : les chanes de longueur variable et les chanes de longueur fixe. Les chanes de longueur variable peuvent contenir environ 2 milliards (2^31) de caractres. Les chanes de longueur fixe peuvent contenir de 1 environ 64 Ko (2^16) de caractres. Une chane de longueur fixe dclare comme Public ne peut tre utilise dans les modules de classe. Les codes de caractres de type String sont compris entre 0 et 255. Les 128 premiers caractres (0 127) du jeu de caractres correspondent aux lettres et symboles d'un clavier amricain standard. Ces 128 caractres sont identiques ceux du jeu de caractres ASCII. Les 128 caractres suivants (128 255) reprsentent des caractres spciaux, comme les lettres de certains alphabets, les accents, les symboles montaires et les fractions. Le caractre de dclaration de type pour les variables de type String est le signe $. Variant Variant est le type de donnes attribu toutes les variables qui ne sont pas explicitement dclares comme tant d'un autre type ( l'aide d'instructions telles que Dim, Private, Public ou Static). Le type de donnes Variant ne possde aucun caractre de dclaration de type. Variant est un type de donnes spcial pouvant contenir des donnes de toutes sortes, l'exception des donnes de type String de longueur fixe et de types dfinis par l'utilisateur. Une variable de type Variant peut galement contenir les valeurs Empty, Error, Nothing et Null. Vous pouvez dterminer la procdure de traitement d'une donne de type Variant l'aide des fonctions VarType et TypeName. Les donnes numriques correspondent n'importe quel nombre entier ou rel dont la valeur est comprise entre -1,797693134862315E308 et -4,94066E-324 pour les ngatifs et entre 4,94066E324 et 1,797693134862315E308 pour les positifs. En gnral, les donnes numriques de type Variant conservent leur type de donnes original au sein de la valeur de type Variant . Par exemple, si vous attribuez une valeur de type Integer une donne de type Variant , cette dernire sera ultrieurement traite comme une valeur de type Integer . Cependant, si une opration arithmtique est excute sur une donne de type Variant contenant une valeur de
IGN/ENSG/CPRI Visual Basic v 6.0 page 7/64

type Byte , Integer , Long ou Single et si le rsultat excde la plage de valeurs du type de donnes, le rsultat se voit automatiquement affect le type de donnes Variant immdiatement suprieur. Une donne de type Byte est transforme en Integer , une donne de type Integer est transforme en Long et une donne de type Long ou Single en Double . Une erreur se produit lorsque des variables de type Variant contenant des donnes de type Currency , Decimal ou Double dpassent leur plage de valeurs respective. Le type de donnes Variant peut remplacer un autre type de donnes lorsque vous recherchez plus de souplesse dans le traitement de celles-ci. Si une variable de type Variant contient des chiffres, il peut s'agir, selon le contexte, de leur valeur relle ou de leur reprsentation sous forme de chane. Exemple :
Dim MyVar As Variant MyVar = 98052

Dans l'exemple prcdent, MyVar contient une reprsentation numrique, c'est--dire la valeur relle 98052. Les oprateurs arithmtiques peuvent tre utiliss avec des variables de type Variant contenant des valeurs numriques ou des chanes de caractres pouvant tre interprtes comme des nombres. Si vous utilisez l'oprateur + pour ajouter MyVar une autre donne de type Variant contenant un nombre ou une variable de type numrique, vous obtiendrez comme rsultat une somme arithmtique. La valeur Empty dsigne une variable de type Variant qui n'a pas t initialise. Une variable de type Variant contenant la valeur Empty quivaut 0 si elle est utilise dans un contexte numrique et une chane de longueur nulle ("") dans un contexte de chanes. Ne confondez pas Empty et Null. La valeur Null indique que la variable de type Variant ne contient intentionnellement aucune donne valide. Dans une donne de type Variant , la valeur Error permet d'indiquer qu'une condition d'erreur s'est produite dans une procdure. Cependant, aucune gestion d'erreur normale de niveau application n'a lieu dans ce cas. Le programmeur ou l'application peuvent donc appliquer un certain traitement en fonction de la valeur d'erreur. Les valeurs de type Error sont cres par conversion de nombres rels l'aide de la fonction CVErr. 2.1.2.- Les tableaux Savoir manipuler des donnes isoles est intressant mais il est parfois ncessaire de grer des longues listes dinformations. Les tableaux sont de simples listes dun seul type de donnes (un tableau dentiers, un tableau de nombres virgule flottante ). Visual Basic permet de crer des tableaux de longueur fixe appels tableaux statiques et des tableaux de longueur variable appels tableaux dynamiques. Les tableaux statiques Il sagit dun tableau dont le nombre maximum dlments est fix a priori. La dclaration se fait de la manire suivante (pour un tableau public de 11 lments de type Integer ) :
Public MonTableau (10) As Integer

Laffectation de la premire case du tableau est alors :


MonTableau (0) = 344

Notez que le premier indice est 0 et non 1

IGN/ENSG/CPRI

Visual Basic v 6.0

page 8/64

Les tableaux dynamiques Par opposition aux tableaux statiques, les tableaux dynamiques nont pas de taille fixe. Il est possible de les agrandir ou de les rduire en intervenant sur le code et dutiliser certaines instructions de Visual Basic pour obtenir des informations les concernant (leur taille, bornes infrieure et suprieure ). Les tableaux dynamiques doivent tre dclars privs dans la feuille, le module ou le module de classe o ils sont utiliss. Il ne faut pas spcifier la taille du tableau la dclaration. Pour dfinir la taille du tableau il faut utiliser la fonction ReDim. Un tableau dynamique se dclare comme suit :
Private MonTableau () As Integer

La taille est dfinie a posteriori :


ReDim MonTableau (10)
ReDim et ReDim Preserve fonctionnent diffremment. ReDim dfinit la taille du tableau (ici 11 lments) et supprime tout ce que contenait le tableau. ReDim Preserve dfinit et conserve les lments.

ou
ReDim Preserve MonTableau (10)

2.1.3.- Les types dfinis par le programmeur Ces types de donnes sont dfinis l'aide de l'instruction Type. Les types de donnes dfinis par l'utilisateur peuvent contenir un ou plusieurs lments d'un type de donnes, un tableau ou un type de donnes prcdemment dfini par l'utilisateur. Exemple :
Type MyType MyName As String ' La variable de type String contient un nom MyBirthDate As Date ' La variable de type Date contient une date de naissance MySex As Integer ' La variable de type Integer contient le sexe (0 fminin, 1 masculin) End Type

2.2.- Les instructions


Les instructions Visual Basic sont compltes. Elles contiennent des mots cls, des oprateurs, des variables, des constantes et des expressions. Chaque instruction appartient l'une des trois catgories suivantes : dclaration, affectation, excution. 2.2.1.- La dclaration Les instructions de dclaration nomment une variable, une constante ou une procdure et peuvent galement spcifier un type de donnes (Const, Dim, Private, Public, New, Static).
Private myVar As String

Ici on dclare une variable prive de type String et de nom myVar .

IGN/ENSG/CPRI

Visual Basic v 6.0

page 9/64

2.2.2.- Laffectation Les instructions d'affectation attribuent une valeur ou une expression une variable ou une constante (=, Let).
Title = "Zone daccueil"

2.2.3.- Les instructions excutables Ces instructions excutent des lignes de codes (structures alternatives, structures rptitives, dbranchements, appels de modules ). Les structures alternatives (Cf. chapitre 3.3.2) Comme dans la plupart des langages, les mots cls correspondant ces structures sont If, Then, Else, End If.
Private answer As String If answer = Empty Then MsgBox Else MsgBox End If
Dclaration de la variable answer

"Vous navez pas entr de nom" "Votre nom est " & answer

Les If multilignes On utilise les mots cls Else If autant de fois que ncessaire.
If answer = Empty Then

"Vous navez pas entr de nom" Else If answer = "Toto" MsgBox "Votre nom est Toto"
MsgBox Else MsgBox End If

"Votre nom est Toto" & answer

Le Case
Select Case answer

"Toto" Nom = "Toto" Case "Titi" Nom = "Titi"


Case Case Else MsgBox "Nom incohrent" End Select

IGN/ENSG/CPRI

Visual Basic v 6.0

page 10/64

Les structures rptitives (Cf. chapitre 3.3.3) Visual Basic utilise les mots cls For, To et Next pour les boucles Pour , Do While et Loop pour la boucle Tant que (il existe galement While et Wend), Do et Loop Until pour la boucle Jusqu ce que . Quelques exemple dutilisation de ces boucles.
Private T(10) As Integer Private I As Integer For I=0 To 9 T[I] = I Next

Dclaration de lindice de boucle I et dun tableau de 10 entiers T

I = 0 Do While I < 10 T[I] = I I = I + 1 Loop


Il est impratif dinitialiser I

I = 0 Do T[I] = I I = I + 1 Loop Until I = 10

2.2.4.- Vrification des erreurs de syntaxe Si une ligne s'affiche en rouge (avec un ventuel message d'erreur) aprs sa saisie et la frappe de la touche ENTRE, l'instruction correspondante comporte une erreur. Identifiez celle-ci et corrigez-la. Attention : Par dfaut Visual basic ne vous oblige pas dclarer les variables, ce qui est une source derreur importante. Afin de remdier cet inconvnient, il est fortement conseill dutiliser au dbut de chaque module linstruction Option Explicit de faon obliger VBA dtecter les variables non dclares.

2.2.5.- Les instructions sur plusieurs lignes Une instruction tient gnralement sur une ligne, mais il est possible de la continuer sur la ligne suivante l'aide du caractre de continuit de ligne _ (blanc + blanc soulign).
Dim myVar As String myVar = "John" MsgBox Prompt:="Bonjour" & myVar, _ Title:="Zone d'accueil", _ Buttons:=vbExclamation

IGN/ENSG/CPRI

Visual Basic v 6.0

page 11/64

2.3.- Les modules


2.3.1.- Ecriture dune procdure Une procdure est une srie d'instructions dlimite par les instructions Sub et End Sub excutant des actions mais ne renvoyant pas de valeurs. Une procdure prend des arguments tels que des constantes, des variables ou des expressions passes par un module appelant. Si une procdure n'a pas d'argument, l'instruction Sub doit comporter des parenthses vides.
Dclaration de la procdure nomme GetInfo nayant aucun paramtre

Sub GetInfo() Dim answer As String

Dclaration dune variable answer de type String Affectation dune valeur la variable answer

answer = InputBox("Quel est votre nom?") If answer = Empty Then MsgBox "Vous n'avez pas entr de nom." Else MsgBox "Votre nom est " & answer End If End Sub Instruction de fin de la procdure

Instruction conditionnelle (If Then Else End If)

2.3.2.- Ecriture dune fonction Une fonction est une srie d'instructions dlimite par les instructions Function et End Function. Une fonction est similaire une procdure mais peut galement renvoyer une valeur. Une fonction peut prendre des arguments, tels que les constantes, les variables ou les expressions qui lui sont passes par un module appelant. Si une fonction n'a aucun argument, son instruction Function doit comporter des parenthses vides. Une fonction renvoie une valeur en affectant une valeur son nom dans une ou plusieurs instructions de la procdure. Dans l'exemple suivant, la fonction Celsius convertit des degrs Fahrenheit en degrs Celsius. Lorsque la fonction est appele depuis la procdure Main, une variable contenant la valeur de l'argument est passe la fonction. Le rsultat du calcul est renvoy la procdure appelante et affich dans un message.
Function Celsius(fDegrees As Integer) As Decimal Celsius = (fDegrees - 32) * 5 / 9 End Function

Dfinition de la fonction Celsius

Sub Main() temp = InputBox("Veuillez entrer la temprature en degrs F.") MsgBox "La temprature quivaut " & Celsius(temp) & " degrs C." End Sub
Appel de la fonction Celsius (avec le paramtre temp) au sein de la procdure Main

2.3.3.- Appel des modules Pour appeler une procdure depuis une autre procdure, il faut simplement taper le nom de la procdure sans oublier les valeurs des arguments obligatoires. L'instruction Call n'est pas obligatoire, mais si vous l'utilisez, vous devez mettre les ventuels arguments entre parenthses. Vous pouvez utiliser une procdure pour organiser d'autres procdures de manire simplifier leur interprtation et leur dbogage.
IGN/ENSG/CPRI Visual Basic v 6.0 page 12/64

Dans l'exemple suivant, la procdure Main appelle la procdure MultiBeep , passant la valeur 56 comme argument. Aprs l'excution de MultiBeep, le systme redonne la main Main qui appelle la procdure Message . Message affiche un message ; lorsque l'utilisateur clique sur OK, la main revient Main qui se termine.
Sub MultiBeep(numbeeps As Integer) For counter = 1 To numbeeps Beep Next End Sub

Dfinition de la procdure MultiBeep ayant un paramtre numbeeps de type Integer

Sub Message() MsgBox "Il est temps de faire une pause!" End Sub Sub Main() MultiBeep 56 Message End Sub

Dfinition de la procdure Message nayant aucun paramtre

Appels (dans la procdure Main) de la procdure MultiBeep avec le paramtres 56 et de la procdure Message

Appel de procdures avec plusieurs arguments L'exemple suivant illustre deux manires d'appeler une procdure avec plusieurs arguments. Lors du second appel de HouseCalc, les arguments doivent tre mis entre parenthses parce que l'instruction Call est employe.
Sub Main() HouseCalc 99800, 43100 Call HouseCalc(380950, 49500) End Sub Sub HouseCalc(price As Single, wage As Single) If 2.5 * wage <= 0.8 * price Then MsgBox "Cette maison est trop chre." Else MsgBox "Cette maison est abordable." End If End Sub

Utilisation des parenthses lors d'appel de fonctions Pour utiliser la valeur renvoye par une fonction, il faut affecter la fonction une variable et mettre les arguments entre parenthses, comme le montre l'exemple suivant :
Answer3 = MsgBox("Votre salaire vous convient-il?", 4, "Question 3")

Si la valeur renvoye par une fonction ne vous intresse pas, vous pouvez appeler une fonction de la mme manire qu'une procdure, il suffit domettre les parenthses, dindiquer les arguments et de ne pas affecter la fonction une variable, comme le montre l'exemple suivant :
MsgBox "Tche termine!", 0, "Bote de tche"

Attention Si vous incluez des parenthses dans l'exemple prcdent, l'instruction cause une erreur de syntaxe. 2.3.4.- Passage des paramtres Tous les paramtres sont passs aux procdures par rfrence (Cf. chapitre 4.4), sauf indication contraire. Cette mthode est efficace en ce sens que le temps de passage des arguments et
IGN/ENSG/CPRI Visual Basic v 6.0 page 13/64

l'espace mmoire qu'ils occupent dans une procdure (4 octets) sont les mmes quel que soit le type de donnes de l'argument. Vous pouvez galement passer un argument par valeur en incluant le mot cl ByVal dans la dclaration de la procdure. Un argument pass par valeur occupe de 2 16 octets dans la procdure, en fonction de son type de donnes. Les types de donnes plus importants impliquent un temps de traitement suprieur celui des types de donnes moins volumineux. Les types de donnes String et Variant ne doivent donc gnralement pas tre passs par valeur. Rappel du chapitre 4.4. : lorsqu'un argument est pass par valeur, la variable d'origine est copie dans la procdure. Les modifications apportes ensuite l'argument au sein de la procdure ne sont pas rpercutes sur la variable d'origine. Par exemple :
Function Factorial (ByVal MyVar As Integer) 'Dclare la fonction. MyVar = MyVar - 1 If MyVar = 0 Then Factorial = 1 Exit Function End If Factorial = Factorial(MyVar) * (MyVar + 1) End Function ' Appel de la fonction Factorial avec une variable S. S = 5 Print Factorial(S) ' Affiche 120 (factorielle 5) Print S ' Affiche 5.

En l'absence de ByVal dans la dclaration de la fonction, les instructions Print de l'exemple prcdent affichent les valeurs 1 et 0. En effet, MyVar fait alors rfrence la variable S , qui est dcrmente de 1 jusqu' ce qu'elle atteigne la valeur 0. Dans la mesure o un argument pass par la mthode ByVal est copi dans la procdure, vous avez la possibilit de passer un variant la fonction Factorial de l'exemple. En effet, vous ne pouvez pas passer un variant par rfrence si la procdure qui dclare l'argument est d'un type de donnes diffrent. Passage de paramtres nomms et facultatifs Lorsque vous appelez une procdure ou une fonction, vous pouvez fournir les arguments par position, dans leur ordre d'occurrence dans la dfinition de la procdure, ou les fournir par nom sans respecter cette position. Par exemple, la procdure suivante prend trois arguments :
Sub PassArgs (strName As String, intAge As Integer, dteBirth As Date) Debug.Print strName, intAge, dteBirth End Sub

Vous pouvez appeler cette procdure en fournissant ses arguments la position approprie, chacune spare par une virgule, comme le montre l'exemple suivant :
PassArgs "Mary", 26, #2-21-69#

Vous pouvez galement appeler cette procdure en fournissant des arguments nomms spars par des virgules.
IGN/ENSG/CPRI Visual Basic v 6.0 page 14/64

PassArgs intAge:=26, dteBirth:=#2/21/69#, strName:="Mary"

Un argument nomm est compos d'un nom d'argument suivi des signes deux-points et gal (:=), puis de la valeur de l'argument. Les arguments nomms sont particulirement pratiques lors de l'appel d'une procdure comportant des arguments facultatifs. Si vous utilisez des arguments nomms, il n'est pas ncessaire d'inclure des virgules pour signaler les arguments positionnels manquants. L'utilisation d'arguments nomms permet de voir plus facilement les arguments passs et omis. Les arguments facultatifs sont prcds du mot cl Optional dans la dfinition de la procdure. Vous pouvez galement prciser une valeur par dfaut pour l'argument facultatif dans la dfinition de la procdure. Par exemple :
Sub OptionalArgs (strState As String, Optional strCountry As String = "USA") ... End Sub

Lorsque vous appelez une procdure avec un argument facultatif, vous pouvez prciser ou non l'argument facultatif. Si vous ne le prcisez pas, la valeur par dfaut, le cas chant, est employe. Si aucune valeur par dfaut n'est spcifie, l'argument prend la valeur par dfaut de la variable du type spcifi. La procdure suivante inclut un argument facultatif, la variable varCountry . La fonction IsMissing dtermine si un argument facultatif a t pass la procdure.
Sub OptionalArgs(strState As String, Optional intRegion As Integer, _ Optional strCountry As String = "USA") If IsMissing(intRegion) And IsMissing(strCountry) Then Debug.Print strState ElseIf IsMissing(strCountry) Then Debug.Print strState, intRegion ElseIf IsMissing(intRegion) Then Debug.Print strState, strCountry Else Debug.Print strState, intRegion, strCountry End If End Sub

Vous pouvez appeler cette procdure en utilisant des arguments nomms comme le montrent les exemples suivants :
OptionalArgs strCountry:="USA", strState:="MD" OptionalArgs strState:= "MD", intRegion:=5

Tableau de paramtres Un tableau de paramtres peut tre utilis pour passer un tableau d'arguments une procdure. Il n'est pas ncessaire de connatre le nombre d'lments du tableau lors de la dfinition de la procdure. Vous utilisez le mot cl ParamArray pour dclarer un tableau de paramtres. Le tableau doit tre dclar comme un tableau de type Variant , et il doit tre le dernier argument de la dfinition de la procdure. L'exemple suivant illustre la dfinition d'une procdure comportant un tableau de paramtres.
IGN/ENSG/CPRI Visual Basic v 6.0 page 15/64

Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant) Dim intI As Integer Utilise la fonction UBound pour dterminer Debug.Print strName; " Rsultats" la limite suprieure du tableau. For intI = 0 To UBound(intScores()) Debug.Print " "; intScores(intI) Next intI End Sub

Les exemples suivants indiquent comment appeler cette procdure.


AnyNumberArgs "Jamie", 10, 26, 32, 15, 22, 24, 16 AnyNumberArgs "Kelly", "Haut", "Bas", "Moyen", "Haut"

2.3.5.- Une procdure particulire : la procdure Property Une procdure Property est une srie d'instructions Visual Basic permettant un programmeur de crer et de manipuler des proprits personnalises. Les procdures Property peuvent tre utilises pour crer des proprits en lecture seule pour des feuilles, des modules standard et des modules de classe ; Les procdures Property doivent tre utilises la place des variables Public dans un code devant tre excut lors de la dfinition de la valeur de la proprit ; Contrairement aux variables Public , des chanes d'aide peuvent tre affectes aux procdures Property dans l'Explorateur d'objets. Lorsque vous crez une procdure Property, elle devient une proprit du module contenant la procdure. Visual Basic offre les trois types de procdure Property suivantes : Property Let Property Get Property Set Procdure dfinissant la valeur d'une proprit. Procdure renvoyant la valeur d'une proprit. Procdure dfinissant une rfrence un objet.

La syntaxe de dclaration d'une procdure Property est la suivante :


[Public | Private] [Static] Property propertyname[(arguments)] [As type] traitements End Property {Get | Let | Set}

Les procdures Property sont gnralement employes par paires : Property Let avec Property Get et Property Set avec Property Get. La dclaration d'une procdure Property Get seule quivaut la dclaration d'une proprit en lecture seule. L'utilisation simultane des trois types de procdure Property n'est adapte qu'aux variables de type Variant, puisque ce type de variable peut contenir un objet ou tout autre type de donnes. Property Set est destine aux objets, Property Let ne l'est pas.

Les arguments requis dans les dclarations des procdures Property sont : Property Get Property Let Property Set Property Get propname(1, , n) As type Property Let propname(1, ,,,, n, n+1) Property Set propname(1, , n, n+1)

IGN/ENSG/CPRI

Visual Basic v 6.0

page 16/64

Du premier l'avant-dernier (1, , n), les arguments doivent tous partager les mmes noms et les mmes types de donnes dans toutes les procdures Property portant le mme nom. Une dclaration de procdure Property Get prend un argument de moins que les dclarations Property Let et Property Set associes. Le type de donnes de la procdure Property Get doit correspondre celui du dernier argument (n+1) des dclarations Property Let et Property Set associes. Par exemple, si vous dclarez la procdure Property Let suivante, la dclaration Property Get doit utiliser des arguments portant le mme nom et ayant le mme type de donnes que les arguments de la procdure Property Let.
Property Let Names(intX As Integer, intY As Integer, varZ As Variant) Instruction ici. End Property Property Get Names(intX As Integer, intY As Integer) As Variant Instruction ici. End Property

Le type de donnes de l'argument final d'une dclaration Property Set doit tre soit un type Object soit un type Variant .

2.4.- Porte et dure de vie des variables


La porte se rfre la disponibilit d'une variable, d'une constante ou d'une procdure en vue d'une utilisation par une autre procdure. Il existe trois niveaux de porte : niveau de procdure, niveau de module priv et niveau de module public. Vous choisissez la porte d'une variable lors de sa dclaration. Il convient de dclarer toutes les variables explicitement pour viter les erreurs de conflit d'affectation de nom entre variables de diffrentes portes. 2.4.1. - Dfinition d'une porte de niveau procdure Une variable ou une constante dfinie dans une procdure n'est pas visible l'extrieur de celleci. Seule la procdure contenant la dclaration de variable peut l'utiliser. Dans l'exemple suivant, la premire procdure affiche un message contenant une chane. La deuxime procdure affiche un message vide puisque la variable strMsg est locale dans la premire procdure.
Sub LocalVariable() Dim strMsg As String strMsg = "Cette variable ne peut pas tre" & _ "utilise en dehors de cette procdure." MsgBox strMsg End Sub Sub OutsideScope() MsgBox strMsg End Sub

2.4.2. - Dfinition d'une porte de niveau module prive Vous pouvez dfinir des variables et constantes de niveau module dans la section Dclarations d'un module. Les variables de niveau module peuvent tre publiques ou prives. Les variables publiques sont accessibles dans toutes les procdures de tous les modules d'un projet ; les
IGN/ENSG/CPRI Visual Basic v 6.0 page 17/64

variables prives sont disponibles uniquement dans les procdures de ce module. Par dfaut, les variables dclares avec l'instruction Dim dans la section Dclarations ont une porte prive. Vous pouvez toutefois faire prcder la variable du mot cl Private pour amliorer la lisibilit de votre code. Dans l'exemple suivant, la variable de chane strMsg est accessible dans toutes les procdures dfinies dans le module. Lorsque la deuxime procdure est appele, elle affiche le contenu de la variable de chane strMsg dans une bote de dialogue.
' Dclarations du module. Private strMsg As String Sub InitializePrivateVariable() strMsg = "Cette variable ne peut pas tre" _ & "utilise l'extrieur de ce module." End Sub Sub UsePrivateVariable() MsgBox strMsg End Sub

Note : les procdures publiques dans un module standard ou dans un module de classe sont accessibles dans n'importe quel projet rfrant. Pour limiter au projet en cours la porte de toutes les procdures d'un module, ajoutez une instruction Option Private Module dans la section dclarations du module. Les variables et les procdures publiques seront toujours accessibles dans les autres procdures du projet en cours, mais pas dans les projets rfrents. 2.4.3. - Dfinition d'une porte de niveau module publique Si vous dclarez une variable de niveau module comme publique, elle est accessible dans toutes les procdures du projet. Dans l'exemple suivant, la variable de chane strMsg peut tre utilise par n'importe quelle procdure de n'importe quel module du projet.
' Inclut dans la section Dclarations du module. Public strMsg As String

Toutes les procdures sont publiques par dfaut l'exception des procdures d'vnement. Lorsque Visual Basic cre une procdure d'vnement, le mot cl Private est automatiquement insr avant la dclaration de la procdure. Pour les autres procdures, vous devez explicitement dclarer la procdure Private si vous ne souhaitez pas la rendre publique. partir de projets rfrents, vous pouvez utiliser des procdures, des variables et des constantes publiques dfinies dans des modules standard ou des modules de classe. Cependant, vous devez d'abord dfinir une rfrence au projet dans lequel elles sont dfinies. Les procdures, les variables et les constantes publiques dfinies dans des modules autres que des modules standard ou de classe, tels que des modules de feuilles ou des modules d'tat, ne sont pas accessibles dans des projets rfrents, puisque ces modules sont privs dans leur projet de rsidence. 2.4.4. - Dure de vie des variables La priode pendant laquelle une variable conserve sa valeur correspond sa dure de vie. La valeur d'une variable peut changer pendant sa dure de vie, mais elle conserve une certaine valeur. Lorsqu'une variable perd sa porte, elle n'a plus de valeur.
IGN/ENSG/CPRI Visual Basic v 6.0 page 18/64

Au dbut d'une procdure, toutes les variables sont initialises. Une variable numrique est initialise zro, une chane de longueur variable est initialise une chane de longueur nulle (""), et une chane de longueur fixe est remplie du caractre reprsentant le code de caractres ASCII 0, ou Chr(0). Les variables de type Variant prennent initialement la valeur Empty . Chaque lment d'une variable d'un type dfini par l'utilisateur est initialis comme s'il s'agissait d'une variable spare. Lorsque vous dclarez une variable objet, de l'espace est rserv en mmoire, mais elle prend la valeur Nothing jusqu' ce que vous lui affectiez une rfrence d'objet l'aide d'une instruction Set. Si la valeur d'une variable n'est pas modifie pendant l'excution de votre code, elle conserve sa valeur initialise jusqu' ce qu'elle perde sa porte. Une variable de niveau procdure dclare avec l'instruction Dim conserve une valeur jusqu' la fin de la procdure. Si la procdure appelle d'autres procdures, la variable conserve galement sa valeur pendant l'excution de ces procdures. Si une variable de niveau procdure est dclare avec le mot cl Static , elle conserve sa valeur tant que le code est excut dans un module. la fin de l'excution du code, la variable perd sa porte et sa valeur. Sa dure de vie est identique celle d'une variable de niveau module. Une variable de niveau module diffre d'une variable statique. Dans un module standard ou un module de classe, elle conserve sa valeur jusqu' ce que vous arrtiez le code. Dans un module de classe, elle conserve sa valeur tant qu'existe une instance de la classe. Les variables de niveau module utilisant des ressources mmoire jusqu' la rinitialisation de leurs valeurs, il convient de les utiliser uniquement lorsque cela est ncessaire. Si vous incluez le mot cl Static avant une instruction Sub ou Function , les valeurs de toutes les variables de niveau procdure dans la procdure sont conserves entre les appels.

2.5.- Les fichiers


Les fichiers sont assez peu utiliss en Visual Basic car il est trs facile (via le mcanisme ODBC) daccder aux enregistrements dune base de donnes cre avec le SGBD de Microsoft : Access. Nanmoins, Visual Basic met la disposition du programmeur les modules ncessaires la gestion des fichiers. 2.5.1.- Ouvrir un fichier Un fichier disque existe indpendamment de votre application. Afin de lire ou dcrire des fichiers, il faut tablir une connexion entre votre code et le fichier situ sur le disque ce qui permet au systme dexploitation de situer physiquement le fichier. Louverture dun fichier effectue ce travail grce le fonction Open dote des paramtres corrects. Cette commande a besoin du nom du fichier, du mode dutilisation du fichier (lecture, criture ou mise jour) et dun numro de rfrence (appel descripteur du fichier). Voici un exemple douverture du fichier MonFichier.txt en mode lecture . Ce fichier aura pour descripteur la variable Fic :
For Input est le mode lecture, For Output le mode criture et For Append le mode mise jour (criture la suite)

Private Fic As Integer Open

"MonFichier.txt" For Input As #Fic

La fonction FreeFile permet de rcuprer un descripteur de fichier disponible (vous ne pouvez pas faire lerreur douvrir deux fois le mme fichier).

IGN/ENSG/CPRI

Visual Basic v 6.0

page 19/64

Private Fic As Integer Fic = FreeFile Open

"MonFichier.txt" For Input As #Fic

2.5.2.- Lire des donnes partir dun fichier Cette opration est effectue par la fonction Input dont il existe trois variantes : Input (number, filenumber) o number est le nombre de caractres lus et filenumber le descripteur du fichier. La lecture des donnes peut tre place dans une variable de type Variant.
Private VarInputFromFile As Variant VarInputFromFile = Input (100, Fic)

En utilisant la fonction LOF( ) il est possible lire lensemble du fichier.


Private VarInputFromFile As Variant VarInputFromFile = Input (LOF(Fic), Fic)

Input # suivi du descripteur du fichier et dune liste des noms de variables dans lesquelles vous pouvez placer les donnes. Cette fonction suppose que les donnes sont spares par des virgules.
Private sName, nPhoneNumber As String Input #Fic, sName, nPhoneNumber

Line Input lit une ligne de texte la fois et la met dans une variable.

Pour lire le fichier tant que lon a pas atteint la fin on peut utiliser la fonction EOF. Exemple :
While Not EOF (fic) Call Lire (fic, Text) WEnd

2.5.3.- Ecrire des donnes dans un fichier Avant dcrire dans un fichier vous devez louvrir en Output ou en Append . Il existe de manires dcrire dans un fichier : Linstruction Print crit lensemble des donnes contenu dans une variable dans un fichier.
Private Text As String Print #Fic, Text

Linstruction Write permet de placer les donnes dans un endroit spcifique du fichier.
Private sName, nAdresse As String Write #Fic, sName, nAdresse

IGN/ENSG/CPRI

Visual Basic v 6.0

page 20/64

2.5.4.- Fermer un fichier Il est possible de fermer tous les fichiers ouverts en utilisant la fonction Close ou de fermer les fichier un par un en spcifiant le descripteur Close #Fic

IGN/ENSG/CPRI

Visual Basic v 6.0

page 21/64

3.- Prise en main de lenvironnement


3.1.- Dmarrage de Visual Basic
Au dmarrage de Visual Basic, on obtient la fentre suivante :

Le choix le plus couramment utilis lors de la cration dun nouveau projet est lapplication excutable standard (EXE standard). Dans ce document, nous naborderons que ce type de projet. Si vous dsirez ouvrir un projet existant, cliquez sur le bouton annuler de la fentre Nouveau projet puis cliquez sur Ouvrir un projet dans le menu Fichier .

IGN/ENSG/CPRI

Visual Basic v 6.0

page 22/64

3.2.- Les lments de lenvironnement


Lenvironnement comporte sept lments principaux : la fentre code, la fentre de conception de feuille, lexplorateur de projet, la fentre des proprits, la fentre dexcution, la boite outils et lexplorateur dobjets.

Barre outils

Fentre code ou fentre de conception de feuille

Fentre dexcution

Explorateur de projet

Fentre des proprits

Fentre Code Elle fait office d'diteur pour la saisie du code de l'application. Une fentre Code distincte est cre pour chaque feuille ou module de code de votre application. Fentre de conception de feuille Elle fait office de fentre personnalisable pour la cration de l'interface de votre application. Vous ajoutez des contrles, des graphismes et des images une feuille de faon ce qu'elle prenne l'apparence souhaite. Chaque feuille de votre application possde sa propre fentre de conception de feuille. Fentre Explorateur de projets Cette fentre numre les feuilles et les modules contenus dans votre projet en cours. Un projet est un ensemble de fichiers partir desquels vous crez une application.
IGN/ENSG/CPRI Visual Basic v 6.0 page 23/64

Fentre Proprits Cette fentre numre les paramtres des proprits de la feuille ou du contrle slectionn. Une proprit dfinit une caractristique d'un objet, notamment sa taille, sa lgende ou sa couleur. Fentres Excution, Variables locales et Espions Ces fentres supplmentaires sont destines au dbogage de votre application. Elles ne sont disponibles que lorsque vous excutez celle-ci dans l'environnement de dveloppement intgr. Bote outils Elle fournit un ensemble d'outils ncessaires au moment de la cration pour disposer les contrles sur une feuille. Outre la disposition par dfaut de la bote outils, vous pouvez crer vos propres dispositions personnalises en cliquant sur la commande Ajouter un onglet du menu contextuel et en ajoutant ensuite les contrles voulus l'onglet ainsi cr. Lexplorateur dobjets Un autre lment, lexplorateur dobjets, est trs intressant pour la conception dapplication. On y accde par le menu Affichage , Explorateur dobjets (touche F2). Il numre les objets disponibles pour votre projet et vous permet de naviguer rapidement dans votre code. Vous pouvez recourir l'Explorateur d'objets pour examiner les objets dans Visual Basic et d'autres applications, connatre les mthodes et proprits disponibles pour ces objets, ainsi que pour coller des procdures de code dans votre application. Ces diffrents lments seront dtaills tout au long de ce document.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 24/64

4.- Structure d'une application Visual Basic


Une application n'est rien d'autre qu'un ensemble d'instructions commandant l'ordinateur d'excuter une ou plusieurs tches. La structure d'une application dfinit l'organisation de ces instructions, c'est--dire l'endroit o elles sont stockes et l'ordre dans lequel elles sont excutes. Les applications simples telles que l'exemple classique Bonjour tous possdent une structure rudimentaire. Quand le code ne comprend qu'une seule ligne, l'organisation n'a gure d'importance. Toutefois, plus les applications deviennent complexes, plus elles doivent tre organises et structures. Imaginez la confusion si le code de votre application tait excut dans un ordre alatoire. Outre le contrle de l'excution d'une application, le programmeur doit aussi se soucier de sa structure. valuez donc la facilit avec laquelle vous retrouvez des informations spcifiques au sein de votre application ! Comme une application Visual Basic est base sur des objets, la structure de son code se rapproche troitement de sa reprsentation physique l'cran. Par dfinition, les objets contiennent des donnes et du code. La feuille que vous voyez l'cran correspond une reprsentation des proprits qui dfinissent son apparence et son comportement intrinsque. chaque feuille d'une application correspond un module de feuille connexe (dont le nom de fichier possde l'extension .FRM) contenant son code. Feuille et son module de feuille (code correspondant)

Chaque module de feuille contient des procdures d'vnement, savoir des sections de code dans lesquelles vous placez les instructions qui sont excutes en rponse des vnements spcifiques. Les feuilles peuvent aussi contenir des contrles. Chaque contrle d'une feuille est associ un ensemble correspondant de procdures d'vnement dans le module de feuille. Outre
IGN/ENSG/CPRI Visual Basic v 6.0 page 25/64

les procdures d'vnement, les modules de feuille peuvent aussi contenir des procdures gnrales qui sont excutes en rponse l'appel d'une procdure d'vnement quelconque. Le code qui n'est pas associ une feuille ou un contrle spcifique peut tre plac dans un autre type de module, appel module standard (.bas). Une procdure susceptible d'tre excute en rponse des vnements dans plusieurs objets diffrents doit tre place dans un module standard, plutt que de dupliquer le code dans les procdures d'vnement de chaque objet (rgles lmentaires de la programmation structure). Un module de classe (.cls) permet de crer des objets susceptibles d'tre appels par des procdures internes votre application. Alors qu'un module standard ne contient que du code, un module de classe contient la fois du code et des donnes. Il ressemble plutt un contrle dpourvu de reprsentation physique. Le chapitre suivant explique, en traitant un exemple, comment crire du code dans les diffrents lments constitutifs d'une application. Par dfaut, votre projet contient un module de feuille unique. Vous pouvez ajouter d'autres modules de feuille, de classe ou standard, si cela s'avre ncessaire.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 26/64

5.- Apprentissage par lexemple


La cration d'une application dans Visual Basic implique trois tapes principales : Crer l'interface ; Dfinir les proprits ; crire le code.

Pour mieux comprendre ces diffrentes tapes, les procdures suivantes vous indiquent comment crer une application simple compose d'une zone de texte et d'un bouton de commande. Lorsque vous cliquez sur celui-ci, le message Bonjour tous apparat dans la zone de texte.

5.1.- Cration de l'interface


Les feuilles constituent l'lment essentiel intervenant dans la cration de l'interface d'une application. Elles vous permettent d'ajouter des fentres et des botes de dialogue, mais vous pouvez galement les utiliser comme conteneurs d'lments qui ne sont pas visibles dans l'interface de l'application. Par exemple, votre application pourrait contenir une feuille qui ferait office de conteneur pour des graphiques que vous envisagez d'afficher dans d'autres feuilles. La premire tape de l'laboration d'une application Visual Basic consiste crer les feuilles sur lesquelles sera fonde l'interface de l'application. Vous dessinez ensuite sur les feuilles les objets qui composeront l'interface. Pour cette premire application, vous utiliserez deux contrles de la Bote outils. Bouton Contrle Zone de texte (TextBox) Bouton de commande (CommandButton) Dessiner un contrle l'aide de la bote outils : Cliquez sur l'outil correspondant au contrle que vous souhaitez dessiner, savoir un TextBox et dplacer le pointeur en forme de croix jusqu atteindre la taille souhaite pour le contrle (figure ci-dessous).

IGN/ENSG/CPRI

Visual Basic v 6.0

page 27/64

Il est galement possible d'ajouter facilement un contrle une feuille en double-cliquant sur le bouton de ce contrle au sein de la bote outils. Vous crez ainsi un contrle qui possde une taille par dfaut et qui se situe au centre de la feuille. Il vous suffit ensuite de le dplacer jusqu' l'endroit voulu. Redimensionner un contrle Cliquez sur le contrle que vous souhaitez redimensionner ; Les poignes de redimensionnement apparaissent sur le contrle ; Positionnez le pointeur de la souris sur une des poignes, puis faites-la glisser jusqu' ce que le contrle atteigne la taille souhaite.

Dplacer un contrle Faites glisser le contrle jusqu' son nouvel emplacement sur la feuille l'aide de la souris ou utilisez la fentre Proprits pour modifier les proprits Top et Left. Lorsqu'un contrle est slectionn, vous pouvez utiliser la touche CTRL avec les touches de direction pour dplacer le contrle d'une unit de grille la fois. Si la grille est dsactive, le contrle est dplac d'un pixel la fois. Verrouiller les positions de tous les contrles Dans le menu Format, cliquez sur Verrouiller les contrles ou cliquez sur le bouton Basculer les contrles verrouills de la barre d'outils Fentre de conception de feuille. Vous verrouillez ainsi tous les contrles de la feuille sur leur position en cours afin de ne pas risquer de les dplacer par inadvertance une fois qu'ils occupent l'emplacement dsir. Seuls les contrles de la feuille slectionne sont verrouills. Ceux des autres feuilles ne le sont pas. Comme il s'agit d'une commande bascule, elle vous permet galement de dverrouiller les positions des contrles. Ajuster la position des contrles verrouills Vous pouvez dplacer lgrement le contrle actif en maintenant la touche CTRL enfonce et en appuyant sur la touche de direction approprie ou modifiez les proprits Top et Left du contrle dans la fentre Proprits. Vous disposez maintenant de l'interface ncessaire l'application Bonjour tous (figure cidessous).

IGN/ENSG/CPRI

Visual Basic v 6.0

page 28/64

5.2. - Dfinition des proprits


L'tape suivante consiste dfinir les proprits des objets que vous avez crs. La fentre Proprits (ci-dessous) permet de dfinir facilement les proprits de tous les objets d'une feuille. Pour ouvrir cette fentre, cliquez sur la commande Fentre Proprits du menu Affichage, cliquez sur le bouton Fentre Proprits de la barre d'outils, ou utilisez le menu contextuel du contrle.

La fentre Proprits est constitue des lments suivants : Zone Objet : affiche le nom de l'objet dont vous pouvez dfinir les proprits. Cliquez sur la flche situe droite de la zone Objet de faon afficher la liste des objets pour la feuille en cours ; Onglets de Tri : choisissez entre une liste alphabtique des proprits ou une vue hirarchique divise en catgories logiques, notamment celles relatives l'aspect, aux polices ou la position ; Liste Proprits : la colonne de gauche affiche toutes les proprits de l'objet slectionn. Vous pouvez modifier et afficher les valeurs dans la colonne de droite. Dfinir les proprits partir de la fentre Proprits Dans le menu Affichage, cliquez sur Fentre Proprits, ou cliquez sur le bouton Fentre Proprits de la barre d'outils ; La fentre Proprits affiche les valeurs de la feuille ou du contrle slectionn ; Dans la liste Proprits, slectionnez le nom d'une proprit ; Dans la colonne de droite, tapez ou slectionnez la nouvelle valeur de la proprit ; Les proprits numres possdent une liste de valeurs prdfinies. Vous pouvez afficher cette liste en cliquant sur la flche vers le bas situe droite de la zone Valeurs, moins que vous prfriez faire dfiler la liste en double-cliquant sur un de ses lments. Pour l'exemple d'application Bonjour tous , vous devez modifier les valeurs de trois proprits et utiliser les valeurs par dfaut de toutes les autres.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 29/64

Objet Feuille Zone de texte Bouton de commande

Proprit Caption Text Caption

Valeur Bonjour tous ! (Vide) OK

5.3. - criture du code


C'est dans la fentre Code que vous crivez le code Visual Basic de votre application. Le code est compos d'instructions du langage, de constantes et de dclarations1. La fentre Code vous permet d'afficher et de modifier rapidement n'importe quelle partie du code de votre application. Ouvrir la fentre Code Double-cliquez sur la feuille ou le contrle pour lequel vous souhaitez crire du code ou dans la fentre Explorateur de projets, slectionnez le nom d'une feuille ou d'un module, puis cliquez sur le bouton Code. La figure ci-dessous illustre la fentre Code telle qu'elle apparat lorsque vous double-cliquez sur le contrle CommandButton, ainsi que les vnements de cette commande.

Vous pouvez dcider d'afficher individuellement ou simultanment les procdures dans la fentre Code.

Afficher toutes les procdures dans la mme fentre Code Dans le menu Outils, cliquez sur Options ; Dans l'onglet diteur de la bote de dialogue Options, activez la case cocher situe en regard de l'option Affichage complet du module par dfaut . La case cocher situe gauche de l'option Sparation des procdures ajoute ou supprime une ligne de sparation entre les procdures ou cliquez sur le bouton Affichage complet du module situ dans le coin infrieur gauche de la fentre Code.

Pour la syntaxe du langage Visual Basic : Cf. Initiation la programmation , chapitre 4.6 page 26 IGN/ENSG/CPRI Visual Basic v 6.0

page 30/64

Afficher individuellement les procdures dans la fentre Code Dans le menu Outils, cliquez sur Options ; Dans l'onglet diteur de la bote de dialogue Options, dsactivez la case cocher situe en regard de l'option Affichage complet du module par dfaut ou cliquez sur le bouton Affichage de procdure situ dans le coin infrieur gauche de la fentre Code. La fentre Code est constitue des lments suivants : Zone de liste Objet : affiche le nom de l'objet slectionn. Cliquez sur la flche situe sur la droite de la zone de liste pour afficher la liste de tous les objets associs la feuille ; Zone de liste Procdure : numre les procdures ou vnements d'un objet. Cette zone affiche le nom de la procdure slectionne, en l'occurrence Click. Cliquez sur la flche situe droite de la zone pour afficher toutes les procdures de l'objet. Crer une procdure d'vnement Le code de votre application Visual Basic est divis en blocs de petite taille appels procdures. Les procdures d'vnement, notamment celles que vous avez cres ici, contiennent du code qui est excut au moment o survient un vnement (notamment lorsqu'un utilisateur clique sur un bouton). Une procdure d'vnement d'un contrle combine le nom effectif du contrle (spcifi dans la proprit Name), un trait de soulignement (_) et le nom de l'vnement. Par exemple, si vous souhaitez qu'une procdure d'vnement soit invoque lorsque l'utilisateur clique sur un bouton de commande nomm Command1, utilisez la procdure Command1_Click. Dans la zone de liste Objet, slectionnez le nom d'un objet dans la feuille active. (La feuille active n'est autre que la feuille en cours). Pour cet exemple, cliquez sur le bouton de commande Command1 ; Dans la zone de liste Procdure, slectionnez le nom d'un vnement de l'objet slectionn. Dans notre exemple, la procdure Click est dj slectionne, car il s'agit de la procdure par dfaut pour un bouton de commande. Notez qu'un modle de la procdure d'vnement est prsent affich dans la fentre Code ; Tapez le code suivant entre les instructions Sub et End Sub :
Text1.Text = "Bonjour tous !"

La procdure d'vnement devrait se prsenter comme suit :


Private Sub Command1_Click () Text1.Text = "Bonjour tous !" End Sub

Vous remarquerez ici que le code modifie simplement la proprit Text du contrle nomm Text1 en Bonjour tous . La syntaxe de cet exemple prend la forme object.property dans laquelle Text1 est l'objet et Text la proprit. Cette syntaxe vous permet de modifier les valeurs des proprits de n'importe quelle feuille ou contrle en fonction des vnements qui surviennent pendant l'excution de votre application.

5.4. - Excution de l'application


Pour excuter l'application, cliquez sur Excuter dans le menu Excution, ou cliquez sur le bouton Excuter de la barre d'outils, ou encore appuyez sur F5. Cliquez sur le bouton de commande que vous avez cr sur la feuille et vous verrez apparatre Bonjour tous dans la zone de texte.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 31/64

6. - Utilisation de l'diteur de code


L'diteur de code de Visual Basic est une fentre dans laquelle vous crivez la majeure partie de votre code. Semblable un traitement de texte extrmement sophistiqu, il offre plusieurs fonctionnalits qui facilitent considrablement l'criture du code Visual Basic. La fentre de l'diteur de code est illustre ci-dessous.

Comme vous manipulez le code Visual Basic dans des modules, une fentre de l'diteur de code distincte est ouverte pour chaque module que vous slectionnez dans l'Explorateur de projets. Le code de chaque module est subdivis en sections indpendantes pour chaque objet contenu dans le module. Vous basculez d'une section l'autre l'aide de la zone de liste Objet . Dans un module de feuille, la liste inclut une section gnrale, une section pour la feuille proprement dite et une section pour chaque contrle de la feuille. Dans le cas d'un module de classe, la liste inclut une section gnrale et une section de classe. Enfin, le module standard ne comprend qu'une section gnrale. Chaque section du code peut contenir plusieurs procdures distinctes, auxquelles vous accdez l'aide de la liste Procdure. La liste des procdures d'un module de feuille comprend une section spare pour chaque procdure d'vnement de la feuille ou du contrle. Par exemple, la liste des procdures d'un contrle tiquette (Label) inclut notamment des sections pour les vnements Change, Click et DblClick. Les modules de classe numrent uniquement les procdures d'vnement de la classe proprement dite, savoir Initialize et Terminate. Les modules standard, en revanche, ne contiennent aucune procdure d'vnement, puisqu'ils ne grent pas d'vnements.
IGN/ENSG/CPRI Visual Basic v 6.0 page 32/64

La liste des procdures de la section gnrale d'un module ne comprend qu'un seul lment, la section Dclarations, dans laquelle vous placez les dclarations de DLL, de variables et de constantes de niveau module. Au fur et mesure que vous ajoutez des procdures Sub ou Function un module, elle apparaissent dans la liste Procdure, sous la section Dclarations. La fentre de l'diteur de code vous permet d'afficher votre code de deux manires diffrentes. Vous pouvez afficher une seule procdure la fois ou afficher simultanment toutes les procdures du module, chacune d'elles tant alors spare de la suivante par une ligne (figure cidessus). Pour basculer d'une vue l'autre, utilisez les boutons de Slection d'affichage, dans le coin infrieur gauche de la fentre de l'diteur. Achvement automatique du code Visual Basic facilite considrablement l'criture du code, grce des fonctionnalits capables de complter automatiquement votre place les instructions, les proprits et les arguments. Au fur et mesure que vous tapez le code, l'diteur affiche les choix, les valeurs ou les prototypes de fonction ou d'instruction appropris. Vous activez ou dsactivez ces options ainsi que d'autres valeurs du code l'aide de l'onglet diteur de la bote de dialogue Options, laquelle vous accdez l'aide de la commande Options du menu Outils. Quand vous spcifiez le nom d'un contrle dans votre code, le Complment automatique des instructions affiche une liste droulante des proprits disponibles pour ce contrle (figure cidessous). Tapez alors les premires lettres du nom de la proprit pour slectionner automatiquement cette dernire dans la liste. La touche TAB termine automatiquement la frappe votre place. Cette option s'avre aussi utile lorsque vous ne connaissez pas avec certitude les proprits disponibles pour un contrle donn. Mme si vous dcidez de dsactiver le Complment automatique des instructions, vous pouvez toujours accder cette fonctionnalit l'aide de la combinaison de touches CTRL+J.

Info express automatique La fonctionnalit Info express automatique affiche la syntaxe des instructions et des fonctions (figure ci-dessous). Quand vous tapez le nom d'une instruction ou d'une fonction Visual Basic valide, la syntaxe apparat immdiatement en dessous de la ligne courante tandis que le premier argument s'affiche en gras. Une fois que vous avez spcifi la valeur du premier argument, le deuxime apparat en gras. Vous pouvez aussi accder la fonction Info express automatique l'aide de la combinaison de touches CTRL+I.
IGN/ENSG/CPRI Visual Basic v 6.0 page 33/64

Signets Vous pouvez utiliser des signets pour marquer des lignes de code dans l'diteur de code afin de les retrouver facilement plus tard. Les commandes de basculement des signets et de navigation avec les signets existants se trouvent dans le menu Edition, sous-menu Signets, et sur la barre d'outils Edition.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 34/64

7. - Utilisation des objets


7.1. - Prsentation des objets
Un objet est une combinaison de code et de donnes qui peut tre traite sous la forme d'un ensemble. Un objet peut tre un lment d'une application, tel un contrle ou une feuille. La totalit d'une application peut aussi tre un objet. Le tableau suivant reprend des exemples des diffrents types d'objets utilisables dans Visual Basic. Exemple Bouton de commande Feuille Base de donnes Graphique Description Les contrles d'une feuille, notamment les boutons de commande (CommandButton) et les cadres (Frame), constituent des objets. Chaque feuille d'un projet Visual Basic constitue un objet distinct. Les bases de donnes (Database) sont des objets qui contiennent d'autres objets, tels que des champs et des index. Dans Microsoft Excel, un graphique est un objet.

7.2. - Origine des objets


Dans Visual Basic, chaque objet est dfini par une classe. Pour mieux comprendre la relation qui existe entre un objet et sa classe, nous prendrons l'exemple des moules gteau et des gteaux. Le moule gteau correspond la classe. Il dfinit les caractristiques de chaque gteau, notamment sa taille et sa forme. La classe permet de crer des objets, qui sont, eux, les gteaux. Cette notion peut tre clarifie par deux exemples de relation entre les classes et les objets dans Visual Basic. Dans Visual Basic, les contrles de la bote outils reprsentent les classes. L'objet connu comme contrle n'existe pas avant que vous ne le dessiniez sur une feuille. Quand vous crez un contrle, vous crez une copie ou une occurrence de la classe du contrle. Cette occurrence de la classe est l'objet auquel vous faites rfrence dans votre application ; La feuille que vous utilisez au moment de la cration est une classe. Au moment de l'excution, Visual Basic cre une occurrence de la classe de la feuille. La fentre Proprits affiche la classe et la proprit Name des objets de votre application Visual Basic, comme illustr la figure de la page suivante.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 35/64

Tous les objets sont crs sous la forme de copies identiques de leur classe. Ds qu'ils existent en tant qu'objets autonomes, il est possible de modifier leurs proprits. Par exemple, si vous dessinez trois boutons de commande sur une feuille, chaque objet bouton de commande est une occurrence de la classe CommandButton. Tous les objets ont en commun un jeu de caractristiques et des fonctionnalits (proprits, mthodes et vnements) dfinies par classe. Toutefois, chaque objet possde son propre nom, peut tre activ et dsactiv individuellement, peut tre plac en un autre endroit de la feuille, etc. Pour simplifier les choses, il ne sera pas souvent fait rfrence la classe d'un objet dans les autres chapitres. Souvenez-vous simplement que l'expression contrle zone de liste (ListBox) , par exemple, signifie une occurrence de la classe ListBox .

7.3. - Principes d'utilisation lmentaires des objets


Les objets Visual Basic prennent en charge proprits, mthodes et vnements. Dans Visual Basic, les donnes (valeurs ou attributs) d'un objet sont appeles proprits, tandis que les diffrentes procdures qui peuvent agir sur l'objet portent le nom de mthodes. Un vnement est une action qui est reconnue par un objet, notamment le clic de la souris ou l'utilisation d'une touche. Vous pouvez ainsi crire du code qui ragit cet vnement. Vous ne pouvez modifier les caractristiques d'un objet en changeant ses proprits. Prenez l'exemple d'une radio. Une de ses proprits est son volume. Dans Visual Basic, vous pourriez dire qu'une radio possde une proprit Volume que vous pouvez ajuster en modifiant sa valeur. Supposez que vous rgliez le volume de la radio de 0 10. Si vous pouviez rgler une radio partir de Visual Basic, vous pourriez crire du code dans une procdure qui modifierait la valeur de la proprit Volume , la faisant passer de 3 5, pour que le niveau sonore de la radio soit plus lev : Radio.Volume = 5 Outre les proprits, les objets possdent des mthodes. Celles-ci font partie intgrante des objets, au mme titre que les proprits. Gnralement, les mthodes correspondent des actions que vous souhaitez excuter, tandis que les proprits sont les attributs que vous dfinissez ou que vous rcuprez. Par exemple, vous composez un numro sur le cadran d'un tlphone pour passer un appel. Vous pourriez dire que les tlphones possdent une mthode Composer et vous pourriez utiliser la syntaxe suivante pour composer le numro sept chiffres 5551111 :
Phone.Dial 5551111

IGN/ENSG/CPRI

Visual Basic v 6.0

page 36/64

Les objets possdent aussi des vnements. Ceux-ci se dclenchent lorsque certains aspects de l'objet sont modifis. Par exemple, une radio pourrait avoir comme vnement ChangementVolume tandis qu'un tlphone aurait pour vnement Sonnerie .

7.4. - Contrle des objets au moyen de leurs proprits


Le moment o vous pouvez dfinir ou renvoyer les valeurs des proprits varie selon la proprit. Certaines peuvent tre dfinies au moment de la cration. Grce la fentre Proprits, vous pouvez dfinir les valeurs de ces proprits sans crire le moindre code. D'autres proprits ne sont pas disponibles au moment de la cration et exigent donc que vous criviez du code pour les dfinir au moment de l'excution. Les proprits dont les valeurs peuvent tre dfinies et lues au moment de l'excution sont appeles proprits en lecture-criture. Les proprits dont les valeurs peuvent tre lues au moment de l'excution sont appeles proprits en lecture seule. 7.4.1. - Dfinition des valeurs de proprits Vous dfinissez la valeur d'une proprit au moment o vous modifiez l'apparence ou le comportement d'un objet. Par exemple, vous modifiez la proprit Text d'un contrle zone de texte afin d'altrer son contenu. Pour dfinir la valeur d'une proprit, utilisez la syntaxe suivante : object.property = expression Les instructions suivantes illustrent la manire dont vous dfinissez les proprits :
Text1.Top = 200 Text1.Visible = True Text1.Text = "bonjour" ' ' ' ' Affecte 200 twips comme valeur de la proprit Top. Affiche la zone de texte. Affiche "bonjour" dans la zone de texte.

7.4.2. - Renvoi des valeurs des proprits Vous renvoyez la valeur d'une proprit pour dterminer l'tat d'un objet avant que votre code excute d'autres actions (notamment affecter la valeur de la proprit un autre objet). Par exemple, vous pouvez renvoyer la proprit Text d'un contrle TextBox pour dterminer son contenu avant d'excuter du code qui pourrait en modifier la valeur. Gnralement, pour renvoyer la valeur d'une proprit, vous utilisez la syntaxe suivante : variable = object.property Une valeur de proprit peut aussi tre renvoye au sein d'une expression plus complexe sans qu'il soit ncessaire d'affecter la proprit une variable. Dans l'exemple de code suivant, la proprit Top du nouveau membre d'un groupe de contrles est calcule comme la proprit Top du membre prcdent et la valeur obtenue est majore de 400 :
Private Sub cmdAdd_Click() ' [instructions] optButton(n).Top = optButton(n-1).Top + 400 ' [instructions] End Sub

IGN/ENSG/CPRI

Visual Basic v 6.0

page 37/64

7.5. - Excution d'actions au moyen de mthodes2


Les mthodes peuvent affecter les valeurs des proprits. Si nous reprenons l'exemple de la radio, nous constatons que la mthode RglerVolume modifie la proprit Volume. De mme, dans Visual Basic, les zones de liste possdent une proprit List qui peut tre modifie au moyen des mthodes Clear et AddItem. Quand vous utilisez une mthode dans votre code, vous crivez l'instruction diffremment selon le nombre d'arguments requis par la mthode, et selon qu'elle renvoie ou non une valeur. Quand une mthode ne prend pas d'argument, vous crivez le code en utilisant la syntaxe suivante : object.method Dans cet exemple, la mthode Refresh affiche le contrle zone d'image (PictureBox) :
Picture1.Refresh ' Impose l'affichage du contrle.

Certaines mthodes, notamment la mthode Refresh, ne possdent pas d'argument et ne renvoient aucune valeur. Si la mthode prend plusieurs arguments, vous les sparez par une virgule. Par exemple, la mthode Circle possde des arguments qui spcifient l'emplacement, le rayon et la couleur d'un cercle sur une feuille :
' Dessine un cercle bleu d'un rayon de 1200 twips. Form1.Circle (1600, 1800), 1200, vbBlue

Si vous conservez la valeur de renvoi d'une mthode, vous devez mettre les arguments entre parenthses. Par exemple, la mthode GetData renvoie une image provenant du Presse-papiers :
Picture = Clipboard.GetData (vbCFBitmap)

En l'absence de valeur de renvoi, les arguments apparaissent sans parenthses. Par exemple, la mthode AddItem ne renvoie pas de valeur :
List1.AddItem "votre nom" ' Ajoute le texte 'votre nom' ' une zone de liste.

7.6. - Relations entre les objets


Lorsque vous placez deux boutons de commande sur une feuille, il s'agit de deux objets autonomes dont la proprit Name possde des valeurs distinctes (Command1 et Command2). Toutefois, ces objets possdent la mme classe, savoir CommandButton. Ces deux objets ont en outre en commun l'appartenance la mme feuille. Comme vous l'avez vu plus haut dans ce chapitre, un contrle plac sur une feuille est galement contenu dans la feuille. Les contrles font ainsi partie d'une hirarchie. Pour faire rfrence un contrle, vous devrez peut-tre d'abord faire rfrence la feuille, exactement comme vous composez l'indicatif tlphonique d'un pays ou un indicatif interurbain avant un numro de tlphone proprement dit. Les deux boutons de commande ont un autre point en commun : ce sont des contrles. Tous les contrles possdent des caractristiques communes qui les diffrencient des feuilles et des autres objets de l'environnement Visual Basic. Les sections qui suivent expliquent la manire dont Visual Basic utilise les collections pour regrouper des objets connexes.

Ce sujet est abord plus en dtails dans le document Introduction la programmation - Chapitre 4.6.5.3 - p.34 IGN/ENSG/CPRI Visual Basic v 6.0 page 38/64

7.6.1. - Hirarchies d'objets Une hirarchie d'objets organise les objets en dterminant les relations entre eux, ainsi que leur mode d'accs. Gnralement, vous ne devez pas vous proccuper de la hirarchie des objets Visual Basic. Toutefois : Quand vous manipulez des objets d'une autre application, vous devez connatre la hirarchie de ses objets. Quand vous utilisez des objets d'accs aux donnes, vous devez galement connatre la hirarchie des objets d'accs aux donnes. Dans les sections qui suivent, vous dcouvrirez les cas dans lesquels un objet Visual Basic en contient d'autres. 7.6.2. - Utilisation des collections d'objets Les collections d'objets possdent leurs propres proprits et leurs propres mthodes. Les objets d'une collection sont appels membres de la collection. Chaque membre de la collection est numrot dans l'ordre en commenant zro. Ce numro correspond au numro d'index du membre. Par exemple, la collection Controls contient tous les contrles d'une feuille donne, comme illustr la figure ci-dessous. Les collections vous permettent en outre de simplifier votre code si vous devez excuter une opration qui porte sur l'ensemble des objets d'une collection.

Par exemple, le code suivant fait dfiler la collection Controls et affiche le nom de chacun de ses membres dans une zone de liste.
Dim MyControl as Control For Each MyControl In Form1.Controls ' Ajoute le nom de chaque contrle une zone de liste. List1.AddItem MyControl.Name Next MyControl

7.6.3. - Application des proprits et des mthodes aux membres d'une collection Il existe deux moyens principaux pour dsigner un membre d'un objet Collection : Spcifiez le nom du membre. Les expressions suivantes sont quivalentes :
Controls("List1") ou Controls!List1 ;

Utilisez le numro d'index du membre : Controls(3).

IGN/ENSG/CPRI

Visual Basic v 6.0

page 39/64

Quand vous pouvez dsigner tous les membres collectivement et chacun des membres individuellement, vous pouvez appliquer des proprits et des mthodes de deux manires :
Controls!List1.Top = 200

ou
Dim MyControl as Control For Each MyControl In Form1.Controls() ' Affecte la valeur 200 la proprit Top de chaque membre. MyControl.Top = 200 Next MyControl

7.6.4. - Objets utiliss comme conteneurs d'autres objets Dans Visual Basic, certains objets en contiennent d'autres. Par exemple, une feuille contient gnralement un ou plusieurs contrles. Les objets utiliss comme conteneurs d'autres objets offrent l'avantage que vous pouvez dsigner l'objet utiliser en faisant rfrence au conteneur dans votre code. Par exemple, la figure ci-dessous illustre deux feuilles diffrentes que vous pourriez rencontrer dans une application : une pour saisir les transactions relatives aux comptes clients et une autre pour saisir les transactions relatives aux comptes fournisseurs.

Les deux feuilles peuvent possder une zone de liste nomme lstAcctNo. Pour spcifier exactement celle que vous souhaitez utiliser, dsignez la feuille qui contient la zone de liste :
frmReceivable.lstAcctNo.AddItem 1201

ou
frmPayable.lstAcctNo.AddItem 1201

7.6.5. - Collections communes dans Visual Basic Dans Visual Basic, il arrive qu'un objet en contienne d'autres. Le tableau suivant dcrit brivement les collections les plus souvent utilises dans Visual Basic. Collection Forms Controls Printers Description Contient les feuilles charges. Contient les contrles d'une feuille. Contient les objets Printer disponibles.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 40/64

8. - Cration d'objets
Double cliquer sur un contrle dans la bote outils est sans aucun doute la manire la plus simple de crer un objet. Toutefois, pour profiter pleinement de tous les objets disponibles dans Visual Basic et dans d'autres applications, vous pouvez utiliser les caractristiques de programmation de Visual Basic et crer des objets au moment de l'excution. Vous pouvez crer des rfrences un objet au moyen de variables objet ; Vous pouvez crer intgralement vos propres objets au moyen des modules de classe ; Vous pouvez crer vos propres collections au moyen de l'objet Collection.

8.1. - Les variables objet


8.1.1. - Utilisation des variables objet Une variable peut non seulement stocker des valeurs, mais galement faire rfrence un objet. Vous affectez un objet une variable pour les mmes raisons que vous affectez une valeur une variable : Les noms des variables sont souvent plus courts et plus faciles mmoriser que les valeurs qu'elles contiennent (ou, dans ce cas prcis, les objets auxquels elles font rfrence) ; Les variables peuvent tre modifies pour faire rfrence d'autres objets pendant l'excution de votre code ; La rfrence une variable qui contient un objet s'avre plus efficace que de multiples rfrences l'objet proprement dit. L'utilisation d'une variable objet est trs similaire celle d'une variable conventionnelle, mais ncessite en plus l'affectation d'un objet la variable : Vous commencez par la dclarer : Dim variable As class Vous lui affectez ensuite un objet : Set variable = object 8.1.2. - Dclaration des variables objet Vous dclarez une variable objet exactement comme n'importe quelle autre variable, avec Dim, ReDim, Static, Private ou Public. Les seules diffrences rsident dans le mot cl New facultatif et dans l'argument class qui sont tous deux expliqus plus loin dans ce chapitre. La syntaxe est la suivante : { Dim | ReDim | Static | Private | Public } variable As [New] class Par exemple, vous pouvez dclarer une variable objet qui fait rfrence une feuille dans l'application appele frmMain :
Dim FormVar As New frmMain ' Dclare une variable objet ' de type frmMain.

Vous pouvez aussi dclarer une variable objet qui fait rfrence une feuille quelconque dans l'application :
Dim anyForm As Form ' Variable de feuille gnrique.

De mme, vous pouvez dclarer une variable objet qui fait rfrence une zone de texte quelconque dans votre application :
Dim anyText As TextBox ' Peut faire rfrence une zone de ' texte quelconque(mais uniquement ' une zone de texte). Visual Basic v 6.0 page 41/64

IGN/ENSG/CPRI

Vous pouvez aussi dclarer une variable objet qui fait rfrence un contrle, quel que soit son type :
Dim anyControl As Control ' Variable d'un contrle gnrique.

Remarquez que vous pouvez dclarer une variable d'une feuille qui fait rfrence une feuille donne dans l'application, mais que vous ne pouvez pas dclarer une variable de contrle qui fait rfrence un contrle particulier. Vous pouvez dclarer une variable de contrle qui fait rfrence un type de contrle donn (TextBox ou ListBox, par exemple), mais pas un contrle dtermin de ce type (txtEntry ou List1). Vous pouvez cependant affecter un contrle donn une variable de ce type. Dans le cas d'une feuille dont une zone de liste est appele lstSample, par exemple, vous pouvez crire :
Dim objDemo As ListBox Set objDemo = lstSample

8.1.3. - Affectation des variables objet Vous affectez un objet une variable objet au moyen de l'instruction Set : Set variable = object Utilisez l'instruction Set chaque fois que vous souhaitez qu'une variable objet fasse rfrence un objet. Vous pouvez parfois utiliser des variables objet, et plus particulirement des variables de contrle, simplement pour raccourcir le code que vous devez taper. Par exemple, vous pourriez crire le code suivant :
If frmAccountDisplay!txtAccountBalance.Text < 0 Then frmAccountDisplay!txtAccountBalance.BackColor = 0 frmAccountDisplay!txtAccountBalance.ForeColor = 255 End If

En recourant une variable de contrle, vous pourriez le raccourcir sensiblement :


Dim Bal As TextBox Set Bal = frmAccountDisplay!txtAccountBalance If Bal.Text < 0 Then Bal.BackColor = 0 Bal.ForeColor = 255 End If

8.2. - Les modules de classes 8.3. - Les collections dobjets

IGN/ENSG/CPRI

Visual Basic v 6.0

page 42/64

9. - Botes de dialogue
Les botes de dialogue des applications Windows permettent : d'inviter l'utilisateur entrer les donnes que l'application requiert pour poursuivre son excution ; d'afficher des informations destines l'utilisateur.

Dans Visual Basic par exemple, la bote de dialogue Ouvrir un projet permet d'afficher les projets existants. La bote de dialogue propos de illustre galement la faon dont vous pouvez utiliser une bote de dialogue pour afficher des informations. Celle-ci s'affiche chaque fois que l'utilisateur clique sur propos de Microsoft Visual Basic dans le menu Aide (?) de la barre de menus.

9.1. - Botes de dialogue modales et non modales


On distingue des botes de dialogue modales et non modales. Une bote de dialogue modale doit tre ferme (masque ou dcharge) pour que vous puissiez poursuivre votre travail. Par exemple, une bote de dialogue est modale si elle vous demande de cliquer sur OK ou Annuler avant de passer une autre feuille ou bote de dialogue. Dans Visual Basic, la bote de dialogue propos de est modale. Les botes de dialogue qui affichent des messages importants doivent toujours tre de ce type : avant de poursuivre son travail, l'utilisateur doit toujours intervenir, soit en les fermant, soit en rpondant un message. Les botes de dialogue non modales permettent de dplacer le focus entre la bote de dialogue et une autre feuille sans avoir fermer la bote de dialogue. Vous pouvez continuer travailler dans l'application en cours pendant que cette bote de dialogue est affiche. Les botes de dialogue non modales sont assez rares. La bote de dialogue Rechercher du menu Edition de Visual Basic en est un exemple. Utilisez ce type de bote de dialogue pour afficher des commandes frquemment utilises ou des informations. Afficher une feuille en tant que bote de dialogue modale Utilisez la mthode Show avec un argument style de vbModal (une constante de la valeur 1).
' Affichez frmAbout en tant que bote de dialogue modale. frmAbout.Show vbModal

Afficher une feuille en tant que bote de dialogue non modale Utilisez la mthode Show sans argument style.
' Affichez frmAbout en tant que bote de dialogue non modale. frmAbout.Show

Note : si une feuille est affiche en tant que bote de dialogue modale, le code qui suit la mthode Show n'est pas excut tant que la bote de dialogue n'est pas ferme. En revanche, si la feuille est une bote de dialogue non modale, le code qui suit la mthode Show est excut immdiatement aprs l'affichage de la feuille. La mthode Show dispose galement d'un autre argument facultatif, owner, qui permet de spcifier pour une feuille une relation parent-enfant. Ainsi, vous pouvez passer le nom d'une feuille cet argument pour faire en sorte que cette feuille s'approprie la nouvelle feuille.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 43/64

Pour afficher une feuille en tant que fille d'une autre feuile Utilisez la mthode Show avec les arguments style et owner.
' Affichez frmAbout en tant que bote de dialogue enfant non modale de ' frmMain. frmAbout.Show vbModeless, frmMain

La mthode Show utilise conjointement l'argument owner garantit la rduction simultane de la bote de dialogue et de son parent, ou son dchargement la fermeture du parent.

9.2. - Utilisation de botes de dialogue prdfinies


La meilleure faon d'ajouter une bote de dialogue votre application est d'utiliser une bote de dialogue prdfinie car vous n'avez pas vous proccuper de sa cration, de son chargement ou de son affichage. Toutefois, vous disposez de peu de possibilits pour intervenir sur leur aspect. Les botes de dialogue prdfinies sont toujours modales. Le tableau suivant donne la liste des fonctions que vous pouvez utiliser pour ajouter des botes de dialogue prdfinies dans votre application Visual Basic. Utilisez cette fonction InputBox MsgBox Pour Afficher une invite dans une bote de dialogue et renvoyer les donnes entres par l'utilisateur. Afficher un message dans une bote de dialogue et renvoyer une valeur indiquant le bouton de commande sur lequel l'utilisateur a cliqu.

9.2.1. - Saisie d'une valeur l'aide de la fonction InputBox Utilisez la fonction InputBox pour demander l'utilisateur de saisir certaines informations ou donnes par le biais d'une bote de dialogue modale. La zone d'entre de texte de la figure suivante invite l'utilisateur entrer le nom du fichier qu'il veut ouvrir.

Le code suivant affiche la zone d'entre illustre la figure prcdente :


FileName = InputBox("Entrez le fichier ouvrir :", "Fichier Ouvrir")

Note : si vous recourez la fonction InputBox, n'oubliez pas que vos possibilits sont limites quant la modification des composants de la bote de dialogue. Vous ne pouvez modifier que le texte de la barre de titre, l'invite destine l'utilisateur, la position de la bote de dialogue sur l'cran, et afficher ou non un bouton d'aide.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 44/64

9.2.2. - Affichage d'informations l'aide de la fonction MsgBox Utilisez la fonction MsgBox pour obtenir des rponses de type oui/non de la part des utilisateurs et afficher de courts messages dans une bote de dialogue (messages d'erreur, d'avertissement). Aprs avoir lu le message, l'utilisateur clique sur un bouton pour fermer la bote de dialogue. Si un fichier ne peut tre ouvert, l'application diteur de texte peut afficher la bote de dialogue de message illustre la figure suivante.

Le code suivant affiche la bote de dialogue de message de la figure prcdente :


MsgBox "Erreur rencontre pendant la tentative d'ouverture d'un _ fichier, ressayez.", vbExclamation, "diteur de texte"

Note : la modalit d'une bote de dialogue peut tre limite l'application ou au systme. Si elle est limite l'application (valeur par dfaut), l'utilisateur ne peut pas passer une autre partie de l'application tant que la bote de dialogue n'est pas ferme, mais il peut passer une autre application. Si elle est limite au systme, l'utilisateur n'est pas autoris passer une autre application tant que la bote de dialogue de message n'est pas ferme.

9.3. - Utilisation de feuilles comme botes de dialogue personnalises


Une bote de dialogue personnalise est une feuille avec contrles (boutons de commande, boutons d'option et zones de texte) que vous crez pour permettre l'utilisateur de fournir des informations l'application. Vous personnalisez l'aspect de la feuille en dfinissant des valeurs de proprits. Vous crivez galement le code demandant l'affichage de la bote de dialogue en mode excution. 9.3.1. - Cration Pour crer une bote de dialogue personnalise, vous pouvez soit utiliser une nouvelle feuille, soit personnaliser une bote de dialogue existante. Par la suite, vous pourrez vous constituer toute une collection de botes de dialogue qui vous serviront dans diffrentes applications. Personnaliser une bote de dialogue existante Dans le menu Projet, slectionnez Ajouter une feuille pour ajouter une feuille existante dans votre projet ; Dans le menu Fichier, slectionnez Enregistrer nomfichier sous, et entrez un nouveau nom de fichier (pour viter de modifier la version existante de la feuille) ; Personnalisez l'aspect de la feuille, si ncessaire ; Personnalisez les procdures d'vnements dans la fentre Code. Dans le menu Projet, slectionnez Ajouter une feuille ; - ou Cliquez sur le bouton Ajouter un feuille de la barre d'outils pour crer une feuille ;
Visual Basic v 6.0 page 45/64

Crer une bote de dialogue

IGN/ENSG/CPRI

Personnalisez l'aspect de la feuille, si ncessaire ; Personnalisez les procdures d'vnements dans la fentre Code.

Vous disposez d'une grande libert pour dfinir l'aspect d'une bote de dialogue personnalise. Elle peut tre fixe ou mobile, modale ou non modale et contenir divers types de contrles. Cependant, les botes de dialogue sont gnralement dpourvues de barres de menus, de barres de dfilement, des boutons Agrandir ou Rduire, de barres d'tat et de bordures dimensionnables. La suite de cette section explique comment crer des styles de botes de dialogue type. 9.3.2. - Ajout d'un titre Une bote de dialogue doit toujours avoir un titre qui l'identifie. Pour le crer, attribuez la proprit Caption de la feuille la chane de texte qui s'affichera dans la barre de titre. En gnral, cette opration est effectue en mode cration l'aide de la fentre Proprits, mais vous pouvez aussi dfinir le texte dans le code. Exemple :
frmAbout.Caption = " propos de"

Conseil : si vous voulez supprimer compltement la barre de titre, attribuez la valeur False aux proprits ControlBox, MinButton et MaxButton de la feuille, une valeur non dimensionnable (0, 1 ou 3) la proprit BorderStyle et une valeur gale une chane vide (" ") la proprit Caption. 9.3.3. - Dfinition des proprits d'une bote de dialogue standard En gnral, l'utilisateur fournit des informations la bote de dialogue puis la ferme en cliquant sur les boutons de commande OK ou Annuler. Comme une bote de dialogue est temporaire, il n'est pas ncessaire de la dplacer, de la dimensionner, de l'agrandir ou de la rduire. Par consquent, le style de bordure dimensionnable, la case du menu Systme et les boutons Agrandir et Rduire figurant habituellement sur une nouvelle feuille sont inutiles dans la plupart des botes de dialogue. Vous pouvez supprimer ces lments en dfinissant les proprits BorderStyle, ControlBox, MaxButton et MinButton. Par exemple, la bote de dialogue propos de utilise les valeurs suivantes : Proprit BorderStyle ControlBox MaxButton Valeur 1 False False Effet Dfinit une bordure simple et fixe pour empcher le redimensionnement de la bote de dialogue en mode excution. Supprime la case du menu Systme. Supprime le bouton Agrandir qui empche l'agrandissement de la bote de dialogue en mode excution. Supprime le bouton Rduire qui empche la rduction de la bote de dialogue en mode excution.

MinButton

False

N'oubliez pas que si vous supprimez la case du menu Systme (ControlBox = False), vous devrez fournir l'utilisateur un autre moyen de quitter la bote de dialogue. La mthode la plus courante consiste ajouter un bouton de commande OK, Annuler ou Quitter dans la bote de dialogue ainsi que du code dans l'vnement Click du bouton qui masque ou dcharge la bote de dialogue.
IGN/ENSG/CPRI Visual Basic v 6.0 page 46/64

9.3.4. - Ajout et positionnement des boutons de commande Les botes de dialogue modales doivent contenir au moins un bouton de commande pour pouvoir tre fermes. En gnral, deux boutons de commande sont utiliss : l'un pour permettre l'utilisateur de lancer une action et l'autre pour lui permettre de fermer la bote de dialogue sans apporter de modifications. OK et Annuler sont les valeurs types de la proprit Caption de ces boutons. Dans ce cas de figure, la proprit Default du bouton de commande OK et la proprit Cancel du bouton Annuler prennent la valeur True. Bien que OK et Annuler soient les boutons les plus souvent utiliss, vous pouvez utiliser d'autres combinaisons de libells. Les botes de dialogue qui affichent des messages utilisent gnralement un contrle tiquette (Label) pour afficher un message d'erreur ou une invite, et un ou deux boutons de commande pour excuter une action. Vous pouvez par exemple affecter le message d'erreur ou l'invite la proprit Caption de l'tiquette, et les rponses Oui et Non la proprit Caption des deux contrles de boutons de commande. Lorsque l'utilisateur choisit Oui, une action est excute et lorsqu'il choisit Non, aucune action n'est excute. Les boutons de commande des botes de dialogue de ce type sont habituellement placs en bas ou droite de la bote de dialogue, le bouton du haut ou de gauche tant le bouton par dfaut, comme illustr la figure suivante.

9.3.5 - Dfinition des proprits Default, Cancel et Focus Les contrles CommandButton offrent les proprits suivantes : Default, Cancel, TabIndex, TabStop. Le bouton Par dfaut est slectionn lorsque l'utilisateur appuie sur la touche ENTRE. La proprit Default ne peut prendre la valeur True que pour un seul bouton de commande par feuille. Appuyer sur la touche ENTRE appelle l'vnement Click du bouton de commande par dfaut. Cette caractristique est associe un contrle de modification, tel qu'une zone de texte. L'utilisateur peut par exemple saisir des donnes dans une zone de texte puis appuyer sur ENTRE pour gnrer un vnement Click au lieu de cliquer sur OK. Le bouton Annuler est slectionn lorsque l'utilisateur appuie sur la touche CHAP. La proprit Cancel ne peut prendre la valeur True que pour un seul bouton de commande par feuille. Appuyer sur la touche CHAP appelle l'vnement Click du bouton de commande Annuler. Ce bouton peut aussi tre le bouton de commande par dfaut. Pour spcifier le bouton Annuler d'une bote de dialogue, attribuez la valeur True la proprit Cancel du bouton. Conseil : en gnral, le bouton qui indique l'action la plus probable ou la plus sre excuter doit tre le bouton par dfaut. Par exemple, dans une bote de dialogue de remplacement de texte, c'est le bouton Annuler qui doit tre le bouton par dfaut, et non le bouton Remplacer tout. Vous pouvez aussi indiquer le bouton qui recevra le focus pendant l'affichage de la bote de dialogue. Le contrle ayant la valeur TabIndex la plus faible reoit le focus lors de l'affichage de la feuille. Appuyer sur la touche ENTRE appelle l'vnement Click pour le bouton de
IGN/ENSG/CPRI Visual Basic v 6.0 page 47/64

commande par dfaut ou pour celui sur lequel se trouve le focus. Pour qu'un bouton de commande reoive le focus lorsque la feuille est affiche, attribuez la valeur 0 la proprit TabIndex du bouton de commande, et la valeur True sa proprit TabStop. Vous pouvez aussi utiliser la mthode SetFocus pour qu'un contrle spcifique reoive le focus pendant l'affichage d'une feuille. 9.3.6. - Dsactivation des contrles d'une bote de dialogue Des contrles doivent parfois tre dsactivs car leurs actions ne sont pas appropries au contexte en cours. Par exemple, lorsque la bote de dialogue Rechercher de Visual Basic s'affiche en premier, le bouton Rechercher suivant est dsactiv, comme illustr la figure suivante. Vous pouvez dsactiver un contrle dans une bote de dialogue en attribuant la valeur False sa proprit Enabled.

Dsactiver un contrle dans une bote de dialogue Attribuez la valeur False la proprit Enabled de chaque contrle.
cmdFindNext.Enabled = False cmdReplace.Enabled = False

9.3.7. - Affichage d'une bote de dialogue personnalise Vous affichez une bote de dialogue dans une application de la mme faon que toute autre feuille. La feuille de dmarrage se charge automatiquement chaque fois que l'application est excute. Si vous voulez afficher une seconde feuille ou bote de dialogue dans l'application, crivez le code appropri. De mme, si vous voulez que cette feuille ou bote de dialogue ne s'affiche plus, crivez le code qui demandera le dchargement ou le masquage. Le code suivant affiche la bote de dialogue propos de, lorsque l'utilisateur slectionne l'option propos de du menu Aide :
Private Sub mnuHelpAbout_Click () ' La mthode Show avec le style = vbModal est utilise ici ' pour afficher la bote de dialogue modale. frmAbout.Show vbModal End Sub

IGN/ENSG/CPRI

Visual Basic v 6.0

page 48/64

10. - Cration de menus


Le Crateur de menus permet de crer des menus et des barres de menu, d'ajouter de nouvelles commandes aux menus existants, de remplacer les commandes de menu existantes par vos propres commandes, d'ajouter et de supprimer des menus et des barres de menu existants.

10.1. - Afficher le Crateur de menus


Dans le menu Outils, slectionnez Crateur de menus. - ou Cliquez sur le bouton Crateur de menus dans la barre d'outils. Le Crateur de menus s'ouvre, tel qu'illustr la figure suivante.

Alors que la plupart des proprits des contrles de menu peuvent tre dfinies l'aide du Crateur de menus, toutes les proprits de menus s'affichent dans la fentre Proprits. Les deux proprits de contrles de menu les plus importantes sont les suivantes : Name : nom utilis pour dsigner un contrle de menu dans un code. Caption : texte qui s'affiche dans le contrle. D'autres proprits du Crateur de menus, notamment Index, Checked et NegotiatePosition sont dcrites plus bas dans ce chapitre.

10.2. - Utilisation du contrle ListBox dans le Crateur de menus


La zone de liste des contrles de menu (partie infrieure du Crateur de menus) contient tous les contrles de menu de la feuille en cours. Lorsque vous saisissez un lment de menu dans la zone de texte Caption, il apparat galement dans la zone de liste des contrles de menu. Si vous slectionnez un contrle de menu existant dans la zone de liste, vous pouvez modifier ses proprits.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 49/64

La figure ci-dessus illustre par exemple les contrles d'un menu Fichier dans une application classique. La position du contrle dans la zone de liste des contrles de menu dtermine s'il s'agit d'un titre, d'un lment de menu ou d'un lment de sous-menu : Un contrle de menu qui apparat tout gauche de la zone de liste est un titre de menu dans la barre de menus ; Un contrle de menu plac au niveau du premier retrait dans la zone de liste s'affiche dans le menu lorsque l'utilisateur clique sur le titre de menu prcdent ; Un contrle de menu en retrait suivi d'autres contrles encore plus en retrait devient un titre de sous-menu. Les contrles de menu placs en retrait sous le titre du sous-menu deviennent des lments du sous-menu ; Un contrle de menu avec un tiret (-) en tant que valeur de sa proprit Caption est une barre sparatrice qui sert diviser les lments d'un menu en groupes logiques. Note : un contrle de menu ne peut tre une barre sparatrice s'il s'agit d'un titre de menu, s'il comprend des lments de sous-menu, s'il est activ ou dsactiv ou s'il est dot d'une touche d'accs rapide. Pour crer des contrles de menu dans le Crateur de menus Slectionnez une feuille ; Dans le menu Outils, slectionnez Crateur de menus. ou Cliquez sur le bouton Crateur de menus dans la barre d'outils ; Dans la zone de texte Caption, entrez le premier titre de menu que vous voulez afficher dans la barre de menus. Insrez une perlute (&) avant la lettre que vous voulez dfinir comme touche d'accs rapide pour cet lment de menu. La lettre est automatiquement souligne dans le titre du menu. Le titre du menu apparat dans la zone de liste des contrles de menu ; Dans la zone de texte Name, entrez le nom que vous voulez utiliser pour dsigner le contrle de menu dans le code. Reportez-vous la section Rgles des noms et titres de menus plus bas dans ce chapitre ; Cliquez sur les flches gauche ou droite pour modifier le niveau de retrait du contrle ; Dfinissez d'autres proprits pour le contrle, si vous le souhaitez. Vous pouvez les dfinir maintenant dans le Crateur de menus ou plus tard dans la fentre Proprits ; Slectionnez Suivant pour crer un autre contrle de menu - ou Cliquez sur Insrer pour ajouter un contrle de menu entre les contrles existants ; Cliquez sur OK pour fermer le Crateur de menus une fois que vous avez cr tous les contrles de menu de la feuille.

Les titres de menus que vous crez s'affichent sur la feuille. En mode cration, cliquez sur un titre de menu pour drouler les lments de menu correspondants.

10.3. - Sparation des lments d'un menu


Une barre sparatrice est une ligne horizontale qui apparat entre les lments d'un menu. Si le menu comprend beaucoup d'lments, vous pouvez utiliser une barre sparatrice pour diviser les lments en groupes logiques. Par exemple, dans le menu Fichier de Visual Basic, des barres sparatrices divisent les lments de menu en trois groupes, comme illustr la figure suivante.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 50/64

Crer une barre sparatrice dans le Crateur de menus Si vous ajoutez une barre sparatrice dans un menu existant, cliquez sur Insrer pour ajouter un contrle de menu entre les lments que vous voulez sparer ; Si ncessaire, cliquez sur la flche droite pour mettre en retrait le nouvel lment de menu au mme niveau que les lments qu'il sparera ; Entrez un tiret (-) dans la zone de texte Caption ; Dfinissez la proprit Name ; Cliquez sur OK pour fermer le Crateur de menus ;

Note : bien que les barres sparatrices soient cres en tant que contrles de menu, elles ne rpondent pas l'vnement Click, et l'utilisateur ne peut les slectionner.

10.4. - Affectation de touches d'accs rapide et de raccourci


Vous pouvez amliorer l'accs du clavier aux commandes de menu en dfinissant des touches d'accs rapide et de raccourci. 10.4.1. - Touches d'accs rapide Les touches d'accs rapide permettent l'utilisateur d'ouvrir un menu en appuyant sur la touche ALT et en tapant une lettre donne. Une fois le menu ouvert, il peut choisir un contrle en appuyant sur la touche correspondant la lettre (touche d'accs rapide) affecte ce contrle. Par exemple, les touches ALT+E permettent d'ouvrir le menu Edition, et la lettre O permet de slectionner l'lment de menu Coller. L'affectation d'une touche d'accs rapide est reprsente par une lettre souligne dans le libell du contrle de menu, comme illustr la figure suivante.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 51/64

Affecter une touche d'accs rapide un contrle de menu dans le Crateur de menus Slectionnez l'lment de menu auquel vous voulez affecter une touche d'accs rapide ; Dans la zone Caption, saisissez une perlute (&) juste devant la lettre que vous voulez utiliser en tant que touche d'accs rapide.

Par exemple, si le menu Edition de la figure prcdente est ouvert, les valeurs suivantes de la proprit Caption rpondent aux touches correspondantes. Libell du contrle de menu Couper Copier Coller Supprimer Slectionner tout Heure/Date Proprit Caption &Couper Cop&ier C&oller &Supprimer Slectionner &tout Heure/&Date Touches d'accs rapide c I o s t d

Note : n'utilisez pas de touches d'accs rapide en double dans les menus. Si vous dfinissez la mme touche pour plusieurs lments de menu, elle ne fonctionnera pas. Par exemple, si C est la touche d'accs rapide pour les commandes Couper et Copier et si vous slectionnez le menu Edition et appuyez sur C, la commande Copier sera slectionne, mais l'application ne l'excutera pas tant que vous n'aurez pas appuy sur ENTRE. La commande Couper ne sera jamais slectionne. 10.4.2. - Touches de raccourci Ds que vous appuyez sur une touche de raccourci, elle excute un lment de menu. Des touches de raccourci peuvent tre affectes aux lments de menu souvent utiliss, ce qui permet de les excuter par un seul accs au clavier, au lieu de trois (touche ALT, lettre d'accs au titre de menu et lettre d'accs l'lment de menu). Les affectations de touches de raccourci s'effectuent l'aide de combinaisons de touches de fonction et de contrle, telles que CTRL+F1 ou CTRL+A. Elles apparaissent dans le menu droite de l'lment de menu correspondant, comme illustr la figure suivante.

Affecter une touche de raccourci un lment de menu Ouvrez le Crateur de menus ; Slectionnez l'lment de menu ; Slectionnez une touche de fonction ou une combinaison de touches dans la zone de liste modifiable Shortcut. Pour supprimer une affectation de touche de raccourci, slectionnez (aucun) dans le haut de la liste.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 52/64

Annexes
A1. Les contrles les plus courants
Ci-dessous la liste des principaux contrles utilisables dans les formulaires de Visual Basic.
Outil de slection des contrles Intitul Zone de texte Zone de liste modifiable Bouton bascule Bouton de commande Cadre Zone d'image Toupie Dfilement Zone de liste

Case cocher Bouton d'option Onglet Multipage

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.
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.
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.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 53/64

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.
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.
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.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 54/64

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.
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.
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.
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.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 55/64

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.
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.
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.

IGN/ENSG/CPRI

Visual Basic v 6.0

page 56/64

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.
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

IGN/ENSG/CPRI

Visual Basic v 6.0

page 57/64

A2.- Les mots cls classs par domaines


Nous ne pouvons donner ici la syntaxe et le dtails de chaque mot cl Visual Basic, la liste cidessous class par domaine doit amplement suffire en sachant que vous pouvez obtenir rapidement de laide en utilisant lexplorateur dobjet intgr dans Visual Basic. Cration, dfinition et utilisation de tableaux. Test d'un tableau. IsArray Cration d'un tableau. Array Modification de la limite infrieure par Option Base dfaut. Dclaration et initialisation d'un tableau. Dim, Private, Public, ReDim, Static Renvoi des limites d'un tableau. Lbound, Ubound Rinitialisation d'un tableau. Erase, ReDim Contrle du comportement du compilateur. Dfinition d'une constante de compilation. #Const Compilation slective de certains blocs de #If...Then...#Else code. Dfinition de boucles et orientation du flux de procdure. Branchement. Sortie ou pause du programme. Boucle. Prise de dcisions. Utilisation de procdures. GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo DoEvents, End, Exit, Stop Do...Loop, For...Next, For Each...Next, While...Wend, With Choose, If...Then...Else, Select Case, Switch Call, Function, Property Get, Property Let, Property Set, Sub

Conversion des nombres et des types de donnes. Code ANSI en chane. Chane en minuscules ou en majuscules. Date en numro de srie. Nombre dcimal en une autre base. Nombre en chane. Type de donnes en autre type. Chr Format, Lcase, Ucase DateSerial, DateValue Hex, Oct Format, Str Cbool, Cbyte, Ccur, Cdate, Cdbl, Cdec, CInt, Clng, Csng, Cstr, Cvar, CVErr, Fix, Int Date en jours, mois, jours de semaine ou Day, Month, Weekday, Year annes. Heure en heures, minutes ou secondes. Hour, Minute, Second Chane en code ASCII. Asc Chane en nombre. Val Heure en numro de srie. TimeSerial, TimeValue

IGN/ENSG/CPRI

Visual Basic v 6.0

page 58/64

Types de donnes et sous-types des donnes de type Variant. Conversion entre les types de donnes. Cbool, Cbyte, Ccur, Cdate, Cdbl, Cdec, Cint, CLng, CSng, Cstr, Cvar, CVErr, Fix, Int Boolean, Byte, Currency, Date, Double, Integer, Long, Object, Single, String, Variant (type par dfaut) IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject

Dfinition des types de donnes intrinsques.

Test des types de donnes.

Conversion et utilisation d'expressions de date et d'heure. Renvoi de la date ou de l'heure en cours. Calculs de date. Renvoi d'une date. Renvoi d'une heure. Dfinition de la date ou de l'heure. Chronomtrage d'un traitement. Date, Now, Time DateAdd, DateDiff, DatePart DateSerial, DateValue TimeSerial, TimeValue Date, Time Timer

Contrle du systme de fichiers et traitement des fichiers. Changement de rpertoire ou de dossier. Changement de lecteur. Copie d'un fichier. Cration d'un rpertoire ou d'un dossier. Suppression d'un rpertoire ou dossier. Attribution d'un nouveau nom un fichier, rpertoire ou dossier. Renvoi du chemin en cours. Renvoi de l'horodatage d'un fichier. Renvoi d'attributs de fichier, de rpertoire et de nom de volume. Renvoi de la longueur d'un fichier. Renvoi d'un nom de fichier ou de volume. Dfinition des attributs d'un fichier. Interception et renvoi de codes d'erreur. Gnration d'erreurs d'excution. Rcupration des messages d'erreur. Informations sur les erreurs. Renvoi de la variable Error. Interception des erreurs durant l'excution. Vrification de type. Clear, Error, Raise Error Err CVErr On Error, Resume IsError ChDir ChDrive FileCopy MkDir RmDir Name CurDir FileDateTime GetAttr FileLen Dir SetAttr

IGN/ENSG/CPRI

Visual Basic v 6.0

page 59/64

Excution de calculs financiers. Calcul d'amortissement. Calcul de valeur future. Calcul de taux d'intrt. Calcul de taux de rendement interne. Calcul de nombre d'chances. Calcul de montant de versements. Calcul de valeur actuelle. DDB, SLN, SYD FV Rate IRR, MIRR Nper Ipmt, Pmt, PPmt NPV, PV

Rception des entres et affichage ou impression des sorties. Accs ou cration d'un fichier. Fermeture de fichiers. Mise en forme de la sortie. Open Close, Reset Format, Print, Imprimer #, Spc, Tab, Width # Copie d'un fichier. FileCopy Rcupration d'informations sur un fichier. EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, Loc, LOF, Seek Gestion de fichiers. Dir, Kill, Lock, Unlock, Name Lecture d'un fichier. Get, Input, Input #, Line Input # Renvoi de la longueur d'un fichier. FileLen Dfinition ou lecture des attributs de fichier. FileAttr, GetAttr, SetAttr Dfinition de positions de lecture/criture Seek dans un fichier. criture dans un fichier. Print #, Put, Write # Excution de calculs mathmatiques (trigonomtrie, etc). Fonctions trigonomtriques. Calculs usuels. Gnration de nombres alatoires. Renvoi de la valeur absolue. Renvoi du signe d'une expression. Conversions numriques. Atn, Cos, Sin, Tan Exp, Log, Sqr Randomize, Rnd Abs Sgn Fix, Int

Lancer d'autres applications et traitement des vnements. Traitement des vnements en attente. Excution d'autres programmes. Envoi de touches une application. mission d'un bip par l'ordinateur. Systme. Renvoi d'une chane de ligne de commande Macintosh. Automation. Couleur. DoEvents AppActivate, Shell SendKeys Beep Environ Command MacID, MacScript CreateObject, GetObject QBColor, RGB

IGN/ENSG/CPRI

Visual Basic v 6.0

page 60/64

Comparaison d'expressions et autres oprations. Arithmtiques Comparaison. Oprations logiques. ^, , *, /, \, Mod, +, & =, <>, <, >, <=, >=, Like, Is Not, And, Or, Xor, Eqv, Imp

Manipulation de chanes et de donnes de type chane. Comparaison de deux chanes. Conversion de chanes. Conversion en minuscules ou en majuscules. Cration de chanes rptant un mme caractre. Calcul de la longueur d'une chane. Mise en forme d'une chane. Alignement d'une chane. Manipulation de chanes. StrComp StrConv Format, Lcase, UCase Space, String

Len Format Lset, RSet InStr, Left, Ltrim, Mid, Right, RTrim, Trim Dfinition des rgles de comparaison de Option Compare chanes. Utilisation des codes ASCII et ANSI. Asc, Chr Dclaration et dfinition de variables et de constantes. Attribution d'une valeur. Dclaration de variables ou de constantes. Dclaration d'un module priv. Obtention d'informations sur une variable. Let Const, Dim, Private, Public, New, Static Option Private Module IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject, TypeName, VarType Rfrence l'objet en cours. Me Activation de la dclaration explicite des Option Explicit variables. Dfinition du type de donnes par dfaut. Deftype

IGN/ENSG/CPRI

Visual Basic v 6.0

page 61/64

A3.- Constantes de code de touches


Les constantes suivantes peuvent remplacer les valeurs relles partout dans votre code : Constante vbKeyLButton vbKeyRButton vbKeyCancel vbKeyMButton vbKeyBack vbKeyTab vbKeyClear vbKeyReturn vbKeyShift vbKeyControl vbKeyMenu vbKeyPause vbKeyCapital vbKeyEscape vbKeySpace vbKeyPageUp vbKeyPageDown vbKeyEnd vbKeyHome vbKeyLeft vbKeyUp vbKeyRight vbKeyDown vbKeySelect vbKeyPrint vbKeyExecute vbKeySnapshot vbKeyInsert vbKeyDelete vbKeyHelp vbKeyNumlock Valeur 0x1 0x2 0x3 0x4 0x8 0x9 0xC 0xD 0x10 0x11 0x12 0x13 0x14 0x1B 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F 0x90 Description Bouton gauche de la souris Bouton droit de la souris Touche ANNULER Bouton secondaire de la souris Touche RET.ARR Touche TAB Touche EFFACER Touche ENTRE Touche MAJ Touche CTRL Touche MENU Touche PAUSE Touche VERR.MAJ Touche CHAP Touche ESPACE Touche PG.PRC Touche PG.SUIV Touche FIN Touche ORIGINE Touche FLCHE GAUCHE Touche FLCHE HAUT Touche FLCHE DROITE Touche FLCHE BAS Touche SLECTION Touche IMPR.CRAN Touche EXCUTER Touche SNAPSHOT Touche INSER Touche SUPPR Touche AIDE Touche VERR.NUM

Les touches A Z sont les mmes que leurs quivalents ASCII : Constante vbKeyA vbKeyB vbKeyC vbKeyD vbKeyE vbKeyF vbKeyG vbKeyH vbKeyI
IGN/ENSG/CPRI

Valeur ascii 65 66 67 68 69 70 71 72 73
Visual Basic v 6.0

Description Touche A Touche B Touche C Touche D Touche E Touche F Touche G Touche H Touche I
page 62/64

vbKeyJ vbKeyK vbKeyL vbKeyM vbKeyN vbKeyO vbKeyP vbKeyQ vbKeyR vbKeyS vbKeyT vbKeyU vbKeyV vbKeyW vbKeyX vbKeyY vbKeyZ

74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90

Touche J Touche K Touche L Touche M Touche N Touche O Touche P Touche Q Touche R Touche S Touche T Touche U Touche V Touche W Touche X Touche Y Touche Z

Les touches 0 9 sont les mmes que leurs quivalents ASCII : Constante vbKey0 vbKey1 vbKey2 vbKey3 vbKey4 vbKey5 vbKey6 vbKey7 vbKey8 vbKey9 Valeur 48 49 50 51 52 53 54 55 56 57 Description Touche 0 Touche 1 Touche 2 Touche 3 Touche 4 Touche 5 Touche 6 Touche 7 Touche 8 Touche 9

Les constantes suivantes reprsentent les touches du pav numrique : Constante vbKeyNumpad0 vbKeyNumpad1 vbKeyNumpad2 vbKeyNumpad3 vbKeyNumpad4 vbKeyNumpad5 vbKeyNumpad6 vbKeyNumpad7 vbKeyNumpad8 vbKeyNumpad9 vbKeyMultiply vbKeyAdd vbKeySeparator vbKeySubtract
IGN/ENSG/CPRI

Valeur 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6A 0x6B 0x6C 0x6D
Visual Basic v 6.0

Description Touche 0 Touche 1 Touche 2 Touche 3 Touche 4 Touche 5 Touche 6 Touche 7 Touche 8 Touche 9 Touche MULTIPLICATION (*) Touche PLUS (+) Touche ENTRE Touche MOINS ()
page 63/64

vbKeyDecimal vbKeyDivide

0x6E 0x6F

Touche POINT DCIMAL (.) Touche DIVISION (/)

Les constantes suivantes reprsentent les touches de fonction : Constante vbKeyF1 vbKeyF2 vbKeyF3 vbKeyF4 vbKeyF5 vbKeyF6 vbKeyF7 vbKeyF8 vbKeyF9 vbKeyF10 vbKeyF11 vbKeyF12 vbKeyF13 vbKeyF14 vbKeyF15 vbKeyF16 Valeur 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7A 0x7B 0x7C 0x7D 0x7E 0x7F Description Touche F1 Touche F2 Touche F3 Touche F4 Touche F5 Touche F6 Touche F7 Touche F8 Touche F9 Touche F10 Touche F11 Touche F12 Touche F13 Touche F14 Touche F15 Touche F16

IGN/ENSG/CPRI

Visual Basic v 6.0

page 64/64

Vous aimerez peut-être aussi