Académique Documents
Professionnel Documents
Culture Documents
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.
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.
Bote outils
Fentre Proprits
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
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
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
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
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
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.
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
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")
Case Else
MsgBox( "Mediocre" )
End Select
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
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
Variables et Oprateurs
numration
Enum FichierOperations
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 :
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
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