cours visual basic - département mathématiques...

24
Cours Visual Basic URCA

Upload: doankhanh

Post on 08-Apr-2018

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Cours Visual Basic

URCA

Page 2: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Sommaire

Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles

Page 3: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Introduction à la programmation

Qu’est-ce que la programmation ?– Séquences d’instructions qui permettent de

données des ordres à un ordinateur A quoi cela sert-elle ?

– Développer des applications, automatiser destâches récurrentes, effectuer des calculscomplexes

Quelques langages de programmation– C, C++, JAVA, (Visual) Basic, Perl, PHP,

Page 4: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Introduction: suite…

Différences principales entre les langages– La syntaxe– Langages séquentiels, langages orienté-objet– Langages interprétés, langages exécutés– Langages spécialement adaptés

• A Internet (pages web): PHP, Perl, JAVA• Aux simulations: Matlab

Page 5: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

VBA ou VB ou Visual Basic

La terminologie autour de Visual Basic peutmener à une certaine ambiguité.

VBA = Visual Basic pour Application– Disponible avec MS Office (Excel, Access, Word)

VB = Visual Basic– Langage de programmation contenu dans MS

Office mais également intégré dans Visual Studiopour faire des applications indépendantes

Page 6: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Visual Basic en général

Avantages– Simplicité– Disponible dans MS Office– Accès à toutes les fonctions de Windows

• Systèmes de fenêtres, boîtes de dialogue, API

Inconvénients– Pas très rapide– Dépend beaucoup des versions utilisées de

Windows et MS Office– Cher si on veut être en règle

Page 7: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Visual Basic

Exemples Syntaxe Variables

Page 8: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Pratique: 1er exemple

PublicSubafficher_texte()DimiAsIntegerFori=1To2

MsgBox"HelloWorld!"Nexti

EndSub

Page 9: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Exemples avec d’autres langages

Cintmain(intargc,char*argv[]){inti=0;for(i=0;i<2;i++){printf("HelloWorld!\n");}

}

JAVAclassExemple{publicstaticvoidmain(Stringargs[]){

inti=0;for(i=0;i<2;i++){

System.out.println("HelloWorld!");}

}}

Page 10: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Syntaxe de base

Il faut toujours indiquer où se trouve ledébut et la fin du programme que l’onécrit.

PublicSubnom_du_programme()‘séquencesd’instructions

EndSub

Indique la fin

Indique ledébut

Page 11: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Variables (1)

Les variables sont essentielles à tous lesprogrammes et tous les langages

Elles permettent le stockage à court termedes paramètres du programme. Souvent desvaleurs numériques (5, 17.6, -3.121212) oudes caractères

Plusieurs types de variables Correspondent à des zones de mémoire de

l’ordinateur

Page 12: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Variables (2)

En Visual Basic, on considère env. 12types de variables. Les plus utilisées:– String pour stocker des chaînes de

caractères– Integer pour stocker des valeurs entières– Double pour stocker des valeurs décimales– Long pour stocker des grandes valeurs

entières– Boolean pour stocker soit un 0 soit un 1

(un bit)

Page 13: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Variables (3)

En VB, il n’est pas obligatoire dedéclarer les variables, mais vivementconseillé

Syntaxe de déclaration:PublicSubprog_qui_fait_rien()

DimageAsIntegerDimnomAsStringDimrevenuAsLong

EndSub

Page 14: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Variables (4)

Les variables sont très importantes etbien comprendre leur utilité

Ne jamais hésiter à déclarer unenouvelle variable

Autre syntaxe possible:

PublicSubprog_qui_fait_rien()DimageAsInteger,nomAs

StringEndSub

Page 15: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Opérateurs et variables (1)

Nombreux opérateurs: + * / - & Mod \ ^ Les opérateurs fond des opérations

avec des variablesPublicSubmon_prog()DimaAsInteger,bAsInteger,cAsInteger,dAsIntegera=5b=7c=a+bd=a*bEndSub

c vaudra 12

d vaudra 35

Page 16: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Opérateurs et variables (2)

Autres exemples avec des opérateurs:

PublicSubmon_prog()DimaAsInteger,bAsInteger,cAsInteger,dAsIntegera=5b=7a=a+bd=a*bEndSub

a sera modifié et vaudra 12

d vaudra 84

Page 17: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Opérateurs et variables (3)

Importance des types

PublicSubmon_prog()DimaAsInteger,bAsInteger,dAsIntegera=9b=2d=a/bEndSub

PublicSubmon_prog()DimaAsInteger,bAsInteger,dAsDoublea=9b=2d=a/bEndSub

d vaudra 4 d vaudra 4.5

Page 18: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Opérateurs et variables (4)

Opérateurs Mod (division entière) et &(concaténation)

Exemples avec Mod:– 34 Mod 12 = 10 car 2 x 12 + 10 = 34– 5 Mod 2 = 1 car 2 x 2 + 1 = 5

Exemples avec &– "Jean" & "Von Duren" = "Jean Von Duren"

Page 19: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Instructions conditionnelles (1)

Un programme doit pouvoir s’adapter à sesparamètres.

En fonction de certaines valeurs, plutôt faireça, ou plutôt faire autre chose…

On utilise le If (en français Si) Sémantique:

– Si « condition est vérifiée » Alors• Faire qqch de particulier

– Autrement• Faire autre chose…

Page 20: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Instructions conditionnelles (2)

Syntaxe en VB:

DimaAsInteger,bAsIntegera=5Ifa<10Then

b=1Else

b=2EndIf

Condition

Page 21: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Instructions conditionnelles (3)

Autres syntaxes:

DimaAsInteger,bAsIntegera=5Ifa<10Then

b=1ElseIfa<20Then

b=2Else

b=3EndIf

Page 22: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Boucles (1)

Une boucle est un ensemble d’instructionsqui est répété un certain nombre de fois

S’il l’on veut faire un compteur qui comptejusqu’à 10000, alors c’est la seule solution

Plusieurs syntaxes possibles– For, While, Loop, Do While, …

Les plus utilisées: For et While

Page 23: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Boucles (2) - For

Compteur jusqu’à 10000:

DimaAsIntegerFora=0To10000

…Toutcequisetrouveiciestrépété10001fois

Nexta Sémantique:

Pour a valant De 0 A 10000Fais qqch

Page 24: Cours Visual Basic - Département Mathématiques ...mathinfo.univ-reims.fr/IMG/pdf/CM-INFO101-1-2.pdf · Cours Visual Basic URCA. Sommaire ... –Disponible avec MS Office (Excel,

Boucles (3) - While

Différence avec For: on ne connaît pastoujours la fin de la boucle à l’avance

DimaAsIntegera=0Whilea<10000

…Toutcequisetrouveiciest

répété10000foisa=a+1

Wend