Vous êtes sur la page 1sur 78

Prsentation de Visual Basic 6.

0
http://coursuniversite.com/
Visual Basic est loutil le plus facile utiliser pour crer des applications Windows. Visual : fait rfrence la mthode utilise pour crer linterface graphique utilisateur (GUI, Graphical User Interface). Au lieu de rdiger de multiples lignes de code pour dcrire lapparence et lemplacement des lments dinterface, il vous suffit de glisser-dplacer des objets prdfinis lendroit adquat sur lcran. Basic : fait rfrence au langage BASIC (Beginners All-Purpose Symbolic Instruction Code), langage le plus utilis par les programmeurs depuis les dbuts de linformatique. Visual Basic constitue une volution par rapport au langage BASIC initial et comporte aujourdhui plusieurs centaines dinstructions de fonctions et de mots cls, dont un grand nombre font directement rfrence linterface graphique utilisateur (GUI) de Windows.

Prsentation de Visual Basic 6.0


C'est la fois un AGL (Agent de Gnie Logiciel), c'est dire une interface conviviale de dveloppement mais aussi un langage de dveloppement. C'est un langage de programmation vnementielle (L'excution du code est dclenche par des vnements tel qu'un clic de souris, une touche du clavier appuye, ).

Les objets qui composent un projet VB sont en ralit des fichiers textes interprts et compils par le moteur VB, qui sont rutilisables dans d'autres projets.
Offre un passage facile vers le VBA (Visual Basic Applications) : VB orient application Microsoft Office. lments de langage et d'interface graphique spcifiques l'application (Word, Excel, Access..). Permet aussi, un passage facile vers le langage de script utilisable dans les environnements web.

Environnement de Dveloppement Intgr Visual Basic 6.0


Barre doutils Fentre feuille

Bote outils

Fentre explorateur de projets

Fentre Proprits

Fentre de prsentation de feuille

Environnement de Dveloppement Intgr Visual Basic 6.0


Fentre projet

Environnement de Dveloppement Intgr Visual Basic 6.0


Boite outils
Pointeur de slection Label Frame PictureBox

Zone de texte
Bouton de commande Bouton doption Zone de liste Barre de dfilement verticale Zone de liste lecteur Zone de liste fichier Line Data

Case cocher ComboBox


Bote de dfilement horizontale Timer Zone de liste dossier Shape Image

Environnement de Dveloppement Intgr Visual Basic 6.0


Fentre de proprit

Variables et Oprateurs
- Les variable Sont des zones de stockage temporaire en mmoire, o des donnes sont enregistres temporairement, en attendant quelles soit utilises par le programme. - Elles sont caractrises par un nom, un type et une valeur. La valeur dune variable change au cours de lexcution dun programme, do le nom dune variable. - Avant de faire appel une variable, il convient de la dclarer, cest--dire de spcifier son type et son nom. - Le type dune variable dfinit un ensemble de valeurs quelle peut accepter, ainsi que les oprations qui peuvent tre effectues avec cette variable.

Variables et Oprateurs
Les types de donnes fondamentaux
Type de donnes Byte ( octet ) Integer
Long

Taille de stockage 1 octets 2 octets


4 octets

Valeurs possibles Page 8 Page 8


Page 8

Single
Double Currency Decimal

4 octets
8 octets 8 octets 12 octets

Page 8
Page 8 Page 8 Page 8

Variables et Oprateurs
Les types de donnes fondamentaux
Type de donnes String(longueur fixe) Stockage Longueur de la chane Plage De 1 environ 65 400 caractres

String(longueur variable) Longueur + 10 octets De 0 2 milliards de caractres Date Boolean Object Variant (numrique) Variant (texte) 8 octets 2 octets 4 octets 16 octets Du 1er janvier 100 au 31 dcembre 9999 True ou False Tout objet incorpor Toute valeur aussi grande quune double

Longueur + 22octets Comme les String longueur variable

Variables et Oprateurs
Dclaration dune variable
Le langage Basic prsente une originalit par rapport de nombreux autres langages : il autorise lutilisation de variables sans imposer une dclaration au pralable. La simple utilisation dune variable dans une ligne de code gnre une dclaration implicite. Il est possible de dclarer explicitement les variables avant leur utilisation.

La dclaration explicite dune variable peut se faire nimporte o dans le code du programme : dans la section des dclarations dune feuille ou dun module, ou dans le corps dune fonction ou dune procdure. Elle se fait laide de linstruction DIM ou STATIC dans une feuille ou un module, ou GLOBAL dans la section des dclarations dun module.

Variables et Oprateurs
Dclaration dune variable
On dclare les variables avec le mot cl Dim, qui en dfinit le nom et le type de donnes. Syntaxe : Dim VarName As DataType Varname : est le nom assign la variable DataType : est le type de donne de la variable

Variables et Oprateurs
Dclaration dune variable
Noms des variable


Type
Boolean Byte Currency Date Double Integer

Prfixe
Bln byt cur dte dbl int

Exemple
blnValeur bytLength curSalaire dteJour dblValeur intNombre

Ils ne doivent pas dpasser 255 caractres. Ils doivent commencer par une lettre. Ils ne peuvent contenir une virgule, un point ou un espace ou autre caractre du mme type. Ils ne doivent pas contenir d'accent. Ils ne peuvent tre des mots cls VB. Ils doivent tre uniques l'intrieur de leur porte.

Long
Single String Value Object

lng
sng str val obj

lngNombre
sngTaxe strName valValeur objWork

Dim intTotal As Integer Dim curSalaire As Currency Dim strName As String

Dim dteFinal As Date Dim blnValeur As Boolean Dim intNombre As Double

Variables et Oprateurs
Dclaration dune variable
ATTENTION ! Il y a une erreur extrmement frquente que l'on retrouve dans le code : Dim i, n, j As Long Ici, seule la variable j est dclare AS LONG. Les autres variables (i et n) sont en Variant ! Si vous voulez vraiment dclarer plusieurs variables sur une seule et mme ligne, vous pouvez soit faire : Dim i as Long, n As Long, j As Long soit faire Dim i as Long: Dim n As Long: Dim j As Long

Variables et Oprateurs
Porte dune variable
Si une variable est utilise sans avoir t pralablement dclare, elle nest connue qu lintrieur de la fonction ou de la procdure o elle est initialement utilise. Si vous faites rfrence au mme nom de variable dans une autre procdure, il sagit en fait dune variable diffrente. Si la variable est dclare dans une fonction ou une procdure, avec Dim ou Static, elle est dite locale cette fonction ou procdure, est nest pas connu lextrieur. Si elle est dclare dans la section des dclarations dune feuille ou dun module avec Dim, elle est connue dans toutes les procdures de la feuille ou du module mais pas dans les autres. Si enfin elle est dclare dans la section des dclarations dun module avec linstruction Global au lieu de Dim, elle peut tre utilise dans toutes les feuilles et tous les modules. Il sagit dune variable globale.

Variables et Oprateurs
Porte dune variable
i peut tre utilise dans toutes les feuilles et tous les modules

Global i as integer

Dim j as integer Sub Dim k as integer End Sub Sub Static l as integer End Sub j peut tre utilise dans toute la feuille

K et l ne peuvent tre utilises que dans leurs propres procdures

Variables et Oprateurs
Constantes
Une constante ressemble une variable dans la mesure o elle correspond galement une case en mmoire. Elle sen distingue cependant par le fait que son contenu est dfini initialement et ne peut pas tre modifi par le programme. La dclaration dune constante se fait laide de linstruction Const dans une feuille ou un module, et Global Const dans un module, pour que sa porte soit globale dans lapplication.

Const Mai = 5 Global Const Pi = 3,14

Variables et Oprateurs
Tableaux
On peut dfinir des tableaux de nombres, de chanes, de boolens, bref, de tout ce quon veut. Quand on cre un tableau, soit on sait davance combien dlments il va englober, soit on veut quil soit dynamique.
Pour crer un tableau de 12 entiers, on crira : o Dim MonTableau(11) As Integer Pour crer un tableau dynamique, on crira : o Dim MonTableau() As Integer Ensuite, ds quon veut en fixer la taille, on crit dans le code : o Redim MonTableau(11) Si ce redimensionnement doit seffectuer en conservant les valeurs prcdemment entres dans le tableau, on ajoutera le mot-cl Preserve : o Redim Preserve MonTableau(11)

Variables et Oprateurs
Oprateurs Arithmtiques
Oprateur Signification Exemple Rsultat
^ Puissance 2^3 8

* Multiplication 2*3 6
/ division 6/3 2 + addition 2+3 5 - Soustraction 3-2 1 Mod Modulo 11 Mod 3 2 \ division entire 11\3 3 & Concatnation de chanes "bon" & "jour" "bonjour"

Variables et Oprateurs
Oprateurs de Comparaison
Oprateur = Description gal Infrieur Suprieur = = Suprieur ou gal Infrieur ou gal Diffrent de

Variables et Oprateurs
Oprateurs Logique
Oprateur
And Or
Xor Not

Description
Chaque termes de lexpression doit tre True Lun des deux termes doit tre True
Seul lun des termes doit tre True Nie lexpression

Exemple
(2 5) And (4 5) 5)
5)

Rsultat
True True
False False

(2 = 5) Or (4
(2 5) Xor (4 not (4 5)

Variables et Oprateurs
Instructions de Contrle
Les instructions IF
Syntaxe : If condition Then Bloc dinstructions

End If Les instructions Else


Syntaxe : If condition Then Bloc dinstructions 1

Else
Bloc dinstruction 2

End If

Variables et Oprateurs
Instructions de Contrle
Instructions If Else imbriqus
Lorsque deux instructions If Else sont imbriques lune dans lautre, linstruction intrieur doit utiliser le mot cl ElseIf la place du simple If Syntaxe : If condition1 Then Bloc dinstructions1 ElseIf condition2 Then Bloc dinstructions2

Else
Bloc dinstructions3

End If

Variables et Oprateurs
Instructions de Contrle
Les instructions Select Case
Permet de vrifier des conditions multiples. Cette instruction permet de choisir entre plusieurs conditions Syntaxe: Select Case expression Case condition0 Bloc d'instructions-1 Case condition1 Bloc d'instructions-2 . Case conditionN Bloc d'instructions-N

Case Else
Bloc d'Instructions-N+1

End Select

Variables et Oprateurs
Instructions de Contrle
Select Case Note Case "A"
MsgBox( "Trs bien") Case "B" MsgBox( "Bien") Case "C" MsgBox("Moyen")

Condition avec le Le mot cl Is

Case Else
MsgBox( "Mediocre" )

End Select

Select Case Note Case Is = 18


MsgBox( "Trs bien") Case Is = 15 MsgBox( "Bien") Case Is = 10 MsgBox("Moyen")

Case Else
MsgBox( "Mediocre" )

End Select

Variables et Oprateurs
Boucles
La boucle Do Syntaxe :
Do While condition Bloc dinstructions Loop Do Until condition Bloc dinstructions Loop Lemplacement de la condition

Do Bloc dinstructions Loop While condition

Do Bloc dinstructions Loop Until condition

La nature de la condition

Variables et Oprateurs
Boucles
La boucle For Syntaxe :
For intCompteur = intStart To intEnd [Step intPasIncrementation] Bloc dinstructions Next intCompteur

For Out = 1 To 10
Boucle Boucle Bloc dinstructions extrieure intrieure

For In = 1 To 20 Next In

Next Out

Variables et Oprateurs
Type Utilisateur
Un type compos de plusieurs types de base.
Exemple : On dclare le type de variable Type udtPersonne strNom As String strPrenom As String dtmDateNaissance As Date lngTelephone As long End Type Dim udtHommes As udtPersonne

udtHommes.strNom = "Dupont" udtHommes.strPrenom = "Jacques" udtHommes.dtmDateNaissance = "26/05/1966" udtHommes.lngTelephone = "6316798"

Variables et Oprateurs
numration
Enum FichierOperations

Edition = 1 Lecture = 2 Ecriture = 4 Suppression = 8


End Enum

Sous-routines et fonctions
Les procdures gnrales peuvent tre des sous-routines ou des fonctions : l'appel peut se faire n'importe o dans un fichier feuille ou module on peut mme appeler une procdure dfinie dans un fichier module partir d'un autre fichier de l'application et il est possible de transmettre des paramtres. Une procdure et une fonction se ressemblent beaucoup. Leur seule diffrence se trouve dans le fait que la fonction retourne une valeur, contrairement la procdure.

Sous-routines et fonctions
Pour mettre en uvre une procdure ou une fonction, il y a deux phases : La dclaration et l'appel. La dclaration se fait selon les syntaxes suivantes :

Syntaxe dune procdure:


[Public|Static][Private] Sub nom-global [(liste-d'arguments)] [bloc-d'instructions] End Sub

Syntaxe dune fonction :


[Public|Static][Private] Function nom-global [(liste-d'arguments)][As type] [bloc-d'instructions] [nom-global = expression] End Function

Sous-routines et fonctions
lment Public Description Indique que la procdure( Function) est accessible toutes les autres procdures de tous les modules. Indique que les variables locales de la procdure (Function) sont conserves entre les appels. L'attribut Static n'a pas d'effet sur les variables dclares en dehors de la procdure (Function), mme si elles sont utilises dans cette dernire. Indique que la procdure (Function) n'est accessible qu' d'autres procdures du module dans lequel elle a t dclare.

Static

Private

Sous-routines et fonctions
Dans les deux cas, la liste-d'arguments a la forme suivante : [Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] [= defaultvalue] lment Optional Description Indique qu'un argument n'est pas obligatoire. S'il est utilis, les arguments suivants doivent galement tre facultatifs et tre dclars l'aide du mot cl Optional. Indique que l'argument est pass par valeur : Moyen permettant de passer une procdure la valeur d'un argument plutt que son adresse. La procdure peut de ce fait accder une copie de la variable. La valeur relle de cette dernire n'est donc pas modifie par la procdure laquelle elle est passe.

ByVal

ByRef

Facultatif. Indique que l'argument est pass par rfrence. ByRef est l'option par dfaut dans Visual Basic.

Sous-routines et fonctions
ParamArray Utilis uniquement comme dernier argument pour indiquer que le dernier argument est un tableau Optional d'lments de type Variant.

varname

Nom de la variable reprsentant l'argument. Respecte les conventions standard d'affectation de noms aux variables. Type de donnes de l'argument pass la procdure

type

defaultvalue

Toute constante ou expression constante. Valide uniquement pour les paramtres Optional.

Sous-routines et fonctions
Transmission des donnes par rfrence et par valeur
Lors de la transmission par rfrence, la procdure appel peut modifier les arguments qui lui sont passs : ByRef (par dfaut). Si, en revanche les arguments sont passs par valeur : ByVal, la procdure ne peut pas les modifis. (La mthode par rfrence est celle utilise par dfaut par Visual Basic, le mot cl ByRef est facultatif).

Sub AfficheRsultat (Mois as Integer, Titre As string) 'Instructions End Sub AfficheRsultat 5, "Rsultats de mai" Ou encore : Call AfficheRsultat (5, "Rsultats de Mai") Les deux syntaxes sont quivalentes, mais l'utilisation de Call implique l'emploi des parenthses.

Sous-routines et fonctions
Fonction Inputbox
La bote de saisie affiche un texte et retourne une chane de caractres saisie. Deux boutons Ok et Annuler permettent l'utilisateur de valider sa saisie ou de l'annuler. Saisie = Inputbox ("nom ?", "saisir un nom", "ahmed") Le premier paramtre est le texte affich, le deuxime le titre de la bote le troisime la valeur par dfaut dans le champ de saisie. Si l'utilisateur slectionne le bouton Ok, la chane retourne est le contenu du champ de saisie de la bote, sinon elle est vide

Sous-routines et fonctions
Fonction MsgBox
Cette fonction affiche une bote de message, contenant une icne, un message et un bouton de commande Voici la syntaxe de la fonction MsgBox() : intResultat = MsgBox(strPrompt, intStyle, strTitle) intResultat : entier renvoy par la fonction strPrompt : message afficher dans la bote intStyle : Style des boutons strTitle : le libell qui apparatra dans la barre de titre

Voir section V-2, page 21 des notes de cours

Sous-routines et fonctions
Fonctions Mathmatiques
Abs() : La fonction valeur absolue Sqr() : La fonction racine carre Exp() : La fonction exponentielle Log() : La fonction logarithmique Atn() : La fonction tangent darc de largument, en radians Cos() : La fonction Consinus de largument en radians Sin() : La fonction Sinus de largument en radians Tan() : La fonction Tangente de largument en radians

Sous-routines et fonctions
Fonctions de conversion de type de donnes Fonction Description CBool() Convertit largument en Boolean CByte() Convertit largument en Byte CCur() Convertit largument en Currency CDate() Convertit largument en Date CDbl() Convertit largument en Double
CDec() Convertit largument en Decimal

CInt() Convertit largument en Integer CLng() Convertit largument en Long CSng() Convertit largument en Single CStr() Convertit largument en String CVar() Convertit largument en Variant
N.B : Toutes ces fonctions exigent naturellement que la conversion soit possible. CInt : arrondit largument lentier le plus proche (CInt(8.5) donne 8 et CInt(8.5001) donne 9)

Sous-routines et fonctions
Fonctions de conversion de type de donnes Fonction Description
CStr() Convertit un argument en String Str() Convertit un argument numrique en String Val() Convertit un argument String en nombre

Sous-routines et fonctions
Les fonctions de date
La fonction Date renvoie la date systme dans le type variant (type Date) et sous ce format : dd-mm-yyyy, o dd : Jour entre 0 et 31; mm : Mois entre 01 et 12; yyyy : Anne

La fonction Time renvoie lheure systme dans le type variant (type Date) et sous ce format : hh:mm:ss, o hh : heure entre 00 et 23; mm : minute entre 00 et 59; ss : seconde entre 00 et 59
La fonction Now combine la Date et Time du systme renvoie dans le type variant (type Date) et sous ce format : dd/mm/yyyy hh:mm:ss