Vous êtes sur la page 1sur 9

Chap 5

FONCTIONS PREDEFINIES DE VB

1- Introduction :

On appelle fonction un sous programme qui à partir d’un ensemble de


données d’entrée passées dans l’ordre dans les arguments de la fonction,
fournit une et une seule donnée de sortie appelée résultat de la fonction.

Pour appeler une fonction en VB, la syntaxe est la suivante :

[ <variable> ] = <nom fonction> (<liste d’expressions>)

Remarques sur les fonctions:

- La liste des expressions est la liste des paramètres d’entrée de la fonction


- A l’appel d’une fonction, chaque expression est passée dans l’ordre dans
l’argument de la fonction qui lui correspond.
- Le nombre des expressions à passer doit être identique au nombre
d’arguments de la fonction.
- L’expression peut être une constante, une variable, une opération ou une
fonction
- Par défaut, le passage de paramètres en VB est un passage par adresse
(par variable).
- Pour réaliser un passage par valeur en VB, il suffit de faire précéder
l’argument correspondant par le mot clé ByVal.
- Le nom de la fonction reçoit le résultat de la fonction qui peut être affecté
éventuellement dans une variable.
- On distingue en VB plusieurs types de fonctions (numériques, chaîne,
date, heure, conversion, booléennes, système, ….).
2- Les fonctions numériques :

Il existe en VB plusieurs fonctions numériques dont quelques une sont les


suivantes :

N° Syntaxe Type Description Type Exemples Rés


Arg. rés. ul
1 Abs(<exp. Num Fournit la valeur Le x=Abs(3.4) 3.4
num>) absolue de l’exp. mêm y =Abs(-3.5) 3.5
Num e que
celui
de
Arg.
2 Sqr (<exp. Num Fournit la racine réel x=Sqr(9) 3
num>) >=0 carrée de exp.
Num.
3 Log(<exp. Num Fournit le réel x=Log(1) 0
num.>) >0 logarithme
népérien de
exp.num.
4 Exp(<exp. Num Fournit réel x=Exp(Log(5) 5
num>) l’exponentielle de )
exp. num.
5 Int(<exp. Num Fournit la partie entie x=Int(3.2) 3
num.>) entière de exp. r y=Int(-3.2) -4
num.
6 Fix(<exp. Num Fournit la partie entie x=Fix(3.2) 3
num.>) non décimale de r y=Fix(-3.2) -3
exp. num.
7 Sgn(<exp. Num Fournit le signe entie x=Sgn(3.2) 1
num.>) de exp. num. (- r y=Sgn(0) 0
1/0/1) z=Sgnt(-3.2) -1
8 Cint((<exp. Num Fournit l’arrondi entie x=Cint(3.2) 3
num.>) à l’entier le plus r y=Cint(3.5) 4
proche z=Cint(3.7) 4
t=Cint(4.5) 4
9 Rnd() ------- Fournit un réel x = rnd() Vale
- nombre réel ur
aléatoire aléat
appartenant à oire
[0,1[ dans
[0,1[
3- Les fonctions de chaînes :
3.1 Remarques :

- Une constante chaîne en VB est toujours comprise entre guillemets.


- La chaîne vide en VB est notée ‘’’’. Son code ascii est 13.
- L’opérateur de concaténation en VB est noté & ou +.

3.2 Quelques fonctions :

N° Syntaxe Type Description Type Exemples Résultat


Arg. rés.
1 Len (<exp ch>) Chaîne Fournit la entier x=’’abcd’’ 4
longueur de y=Len(x)
exp ch
2 Asc (<exp ch>) Chaîne Fournit le code entier x=’’abcd’’ 97
ascii du y=Asc(x)
premier
caractère de
exp ch
3 Chr(<exp Entier Fournit le chaîne x= 65 A
num>) caractère dont y= Chr(x)
le code ascii =
exp num
4 Space (<exp Entier Fournit une chaîne x=5 « «
num>) chaîne y=Space(x)
d’espaces de
longueur exp
num
5 Ucase (<exp Chaîne Convertit exp chaîne x=’’aCd1’’ «ACD1
ch>) ch en y= Ucase (x) »
majuscules
6 Lcase (<exp Chaîne Convertit exp chaîne x=’’aCd1’’ « acd1 »
ch>) ch en y= Lcase (x)
minuscules
7 Ltrim (<exp Chaîne Fournit exp ch chaîne x=’’ abc’’ « abc »
ch>) sans espaces de y=Ltrim(x)
gauche
8 Rtrim (<exp Chaîne Fournit exp ch chaîne x=’’abc ’’ « abc »
ch>) sans espaces de y=Rtrim(x)
droite
9 Trim (<exp Chaîne Fournit exp ch chaîne x=’’ abc ’’ « abc »
ch>) sans espaces de y=Trim(x)
droite ni de
gauche
10 StrReverse Chaîne Fournit la chaîne x = ‘’abcdef’’ « fedcba
(<exp ch>) chaîne inverse y= »
de exp ch StrReverse(x)
11 Left (<exp ch> Chaîne, Extrait à partir chaîne x=’’abcdefg’’ “abc”
, <exp num>) entier de la gauche de y=Left(x,3)
exp ch une
chaîne de
longueur exp
num
12 Right (<exp Chaîne, Extrait à partir chaîne x=’’abcdefg’’ “defg”
ch> , <exp entier de la droite de y=Right(x,4)
num>) exp ch une
chaîne de
longueur exp
num
13 String (<exp Chaîne, Crée une chaîne x= ‘’a’’ « aaa »
ch> , <exp num entier chaîne formée y =string (x,3)
de exp num
fois exp ch
14 Mid (<exp ch, Chaîne, Extrait à partir chaîne x= ‘’abcde’’ « bcd »
<exp num1>, entier, de exp ch à la y= Mid(x,2,3)
<exp num2>) entier position exp
num1 une
chaîne de
longueur exp
num2
15 Instr(<exp Entier, Fournit la entier x=’’abcdefgcd
num> , <exp chaîne , première kt’’
ch1> , <exp chaîne position de exp y=’’cd’’
ch2>) ch2 dans exp p=instr(1,x,y) 3
ch1 en p=instr(2,x,y) 3
commençant la p=instr(3,x,y) 3
recherche à p=instr(4,x,y) 8
partir de exp p=instr(5,x,y) 8
num p=instr(8,x,y) 8
p=instr(9,x,y) 0
p=instr(10,x,y) 0
16 Replace (<exp chaîne , Fournit une chaîne x=’’abcdefgcd
ch1> , <exp chaîne , chaîne dans ktmncdrs’’
ch2> , <exp chaîne , laquelle exp y=’’cd’’
ch3> , <exp entier , ch2 a été z=’’uvw’’
num1> , <exp entier remplacée par ch=Replace(x, -
num2>) exp ch3 dans y, z, 1, 1) abuvwef
exp ch1 tel que ch=Replace(x, gcdktmn
la coupure dans y, z, 1, 2) cdrs
exp ch1débute ch=Replace(x, -
à partir de la y, z, 1, 3) abuvwef
position exp ch=Replace(x, guvwktm
num1. Le y, z, 1, 4) ncdrs
nombre de ch=Replace(x, -
remplacements y, z, 2, 1) abuvwef
= exp num2 ch=Replace(x, guvwktm
y, z, 3, 1) nuvwrs
ch=Replace(x, -
y, z, 3, 2) abuvwef
guvwktm
nuvwrs
-
buvwefg
cdktmnc
drs
-
uvwefgc
dktmncd
rs
-
uvwefgu
vwktmnc
drs
4- Les fonctions de conversion :

4.1 Quelques fonctions :

N° Syntaxe Type Description Type Exemples Résul.


Arg. rés.
1 Val(<exp ch>) chaîne Convertit exp Num x=val(‘’123’’) 123
ch en valeur x=val(‘’123.45’’) 123,45
numérique x=val(‘’abc12’’) 0
x=val(‘’12abc’’) 12
x=val(‘’123,45’’) 123
2 Str(<exp ch>) Num Convertit exp chaîne x=str(12) “12”
num en chaîne x=str(123,45) “123.4
x=str(123.45) 5”
erreur
3 Csng(<expch>) chaîne Convertit exp Single x=csng(‘’12’’) 12
ch en valeur x=csng(‘’12,35’’) 12,35
réelle de type x=csng(‘’12.35’’) Erreur
Single x=csng(‘’12ab’’) Erreur
x=csng(‘’ab12’’) Erreur
4 Cdbl(<expch>) chaîne Convertit exp Single x=cdbl(‘’12’’) 12
chen valeur x=cdbl(‘’12,35’’) 12,35
réelle de type x=cdbl(‘’12.35’’) Erreur
Double x=cdbl(‘’12ab’’) Erreur
x=cdbl(‘’ab12’’) Erreur
5 DateValue chaîne Convertit une Date x=datevalue(‘’01/ La
(<exp ch>) exp ch de la 03/2020’’) date
forme du
jj/mm/aaaa en 01/03/
date 2020
6 DateSerial entier, Convertit Date x=dateserial La
(<année> , entier, l’ensemble des (2020,3,1) date
<mois> , entier trois arguments du
<jour>) en date 01/03/
2020
7 Date Fournit la date Date x=Date Date
système 02/05/
2019
8 TimeValue chaîne Convertit une Date x=timevalue L’heur
(<exp ch>) exp ch de la (‘’17:30:00’’) e
forme 17 :30
hh:mm:ss en :30
heure
9 Time Fournit l’heure Date x=time
système
10 Timer Fournit le entier x=timer
nombre total de
secondes
écoulées depuis
00:00:00
11 Cvdate (<exp chaîne Convertit une Date x= cvdate Mome
ch>) chaine de la (‘’01/03/2020 nt du
forme 17:30:00’’) 01/03/
jj/mm/aaaa 2020 à
hh:mm:ss en 17 :30
moment daté :00
12 Now Fournit le Date x=now
moment
système

4.2 Remarques :

1- On peut calculer une période (en jours) qui sépare deux dates selon la
syntaxe :
période = date1 – date2

exemple : p = datevalue(‘’30/03/2020’’) – datevalue(‘’20/03/2020’’)


résultat : 10

2- On peut calculer une durée (en jours) qui sépare deux instants selon la
syntaxe :
période = instant1 – instant2

exemple : p = timevalue(‘’18 :00 :00’’) – timevalue(‘’12 :00 :00’’)


résultat : 0,25

3- On peut calculer une période (en jours) qui sépare deux moments selon
la syntaxe :
période = moment1 – moment2
exemple : p = cvdate(‘’30/03/2020 18:00:00’’) – cvdate(‘’20/03/2020
12:00:00’’)
résultat : 10,25

4- On peut calculer une nouvelle date en ajoutant ou en retranchant un


nombre entier de jours à une date selon la syntaxe :

date1 = date2 +/- <entier>

exemple : p = datevalue(‘’20/03/2020’’) + 10
résultat : date du 30/03/2020

5- On peut mettre en forme une date en utilisant la fonction Format()


selon la syntaxe suivante :

Format (<exp date> , <chaîne forme>)

Exemples :
d = datevalue (‘’25/03/2020’’)
f1 = Format( d , ‘’d’’) -- 25
f1 = Format( d , ‘’dd’’)  25
f2 = Format( d , ‘’ddd’’) - mer
f3 = Format( d , ‘’dddd’’)  mercredi
f4 = Format( d , ‘’m’’)  3
f5 = Format( d , ‘’mm’’)  03
f6 = Format( d , ‘’mmm’’)  mars
f7 = Format( d , ‘’mmmm’’)  mars
f8 = Format( d , ‘’q’’) 1 (1er trimestre)
f9 = Format( d , ‘’y’’)  13 (13ème semaine de l’année)
f10 = Format( d , ‘’yyyy’’) 2020
6- On peut convertir une fraction de jour en chaîne heure en utilisant la
fonction Format() selon la syntaxe suivante :

Format (< réel dans [0 , 1[ >, ‘’ttttt’’)

Exemple : x=format(0,25, ‘’ttttt’’)


x=0,25
h=Format (x, ‘’ttttt’’)
résultat : 06:00:00

5- Les fonctions de vérification :

N° Syntaxe Type Description Type Exemples Résul.


Arg. rés.
1 IsNumeric variant Fournit la booléen x=IsNumeric True
(<exp>) valeur True si (‘’123’’)
l’expression y=IsNumeric
peut être (‘’123,45’’) True
convertie en z=IsNumeric
valeur (‘’123.45’’) False
numérique t=IsNumeric
sinon False (‘’abcd’’) false
2 IsDate(<exp>) Variant Fournit la booléen x=IsDate(‘’01/0 True
valeur True si 4/2019’’)
l’expression x=Isdate(‘’12:34 True
peut être :23’’)
convertie en x=IsDate(‘’01/0 true
valeur de type 4/2019
date sinon 12:34:23’’)
False

Vous aimerez peut-être aussi