Cours Vba Tm

23
Informatique II Programmatio n Evénementielle Technique de Management S2 Chapitre 1 Introducti on à l’algorithmique et à Informatique 1 2014/2015 2 Programmation?? 2014/2015 3 La programmati on dans le domaine informat ique est l' ensemble des ac tivités liélécriture la mise en point et lecution d’u n programme . Un ro ramme inf ormati ue est une succession d'i nst ructio ns Programmation informatique 4  exécutable par l'ordinateur . c'est-à-dire une succession de 0 et de 1. Ces programmes sont tradui ts en langages machine.

description

kkk

Transcript of Cours Vba Tm

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 1/23

Informatique II

Programmation Evénementielle

Technique de Management S2

Chapitre 1

Introduction à l’algorithmique et à

Informatique 1 2014/20152

Programmation??

2014/20153

La programmation dans le domaine informatique est l'ensembledes activités liés à l’écriture la mise en point et l’exécution d’un

programme .

Un ro ramme informati ue est une succession d'instructions

Programmation informatique

4

 exécutable par l'ordinateur. c'est-à-dire une succession de 0 etde 1.

Ces programmes sont traduits en langages machine.

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 2/23

le programme est un simple fichier, que l'on appelle fichiersource. Le fichier source contient les lignes de programmesque l'on appelle code source. Ce fichier source une foisterminé doit être compilé. La compilation se déroule en deux

5

étapes :

Fichier source Fichier objet Fichier exécutable

Compilateur Editeur de liens

Les étapes de développement

2014/20156

Ne pas se laisser aveugler par l'objectif final: le

codage!

Notion d’algorithme

Description d’un processus de résolution d’un problème

bien défini.

Succession d’actions qui, agissant sur un ensemble de

,

problème.

C’est une suite des actions à effectuer pour

• réaliser un traitement donné

• résoudre un problème donné

8

Un algorithme est la description ,en langage naturel,

d’une suite finie de règles à appliquer dans un ordre

déterminé à un nombre fini de données pour arriver à

un certain résultat,

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 3/23

L’écriture d’un algorithme permet : d'être compréhensible par tout informaticien même s'il ne

connait as le lan a e du ro ramme.

9

 

de rester focalisé sur la logique du programme et non sur les

particularités du langage utilisé.

L’Algorithme c’est le passeport pour la programmation

Structure d’un algorithme

L’algorithme d’un programme est organisé en plusieurs parties :

déclaration des constantes déclaration des variables

 

10

 

définition du programme principal

Exemple

Calcul de l’intérêt et de la valeur acquise par une

somme p ac e pen ant un an nt r t s mp e

Enoncé du problème indique:

Les données fournies (input): deux nombreo La valeur de la somme placéeo Le taux d’ intérêt

Les données désirés (output): deux nombre

o L’intérêt fourni par la somme placée

o Valeur obtenue après placement d’un an

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 4/23

Il nous faut maintenant décrire les différents étapes

permettant de passer des données au résultats . Nos connaissance nous permettent d’exprimer cette règles:

  ‘’ Pour Obtenir l’intérêt fournit par la somme, il suffit de

multiplier la somme par le taux d’intérêt divisé par cent; la

valeur acquise s’obtient en additionnant ce dernier montant et la

somme initiale ’’

Etapes caractérisant la résolution d’un problème sur

ordinateur:

Comprendre la nature du problème posé et préciser lesdonnées fournies (input).

  ’ .

Déterminer le processus de transformation des données en

résultats.

Notre exemple deviendra:

(1)Prendre connaissance de la somme initiale et du taux

d’intérêt.

(2)Multiplier la somme par le taux; diviser ce produit par

100; le quotient o tenu est l’intérêt e la somme

(3) Additionner ce montant et la somme initiale, cette

somme est la valeur acquise.

(4) Afficher les valeurs de l’intérêt et de la valeur acquise

Notre exemple en langage algorithmique

écrire ‘’Introduisez la somme initiale (en dirhmas) :‘’

lire sommeinitiale

écrire ‘’Introduisez le taux d’intérêt ‘’Lire taux

Interet<-- sommeinitiale*taux/100

Valeuracquise<-- sommeinitiale+intérêt

Écrire’ ’l’intérêt fourni est de ‘’, intérêt, ‘’dirhams’’

Écrie’’la somme après un an sera de ‘’, valeuracquise, ‘’dirhams’’

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 5/23

Nous remarquons:

Deux verbes particuliers: Lire qui correspond à la saisie, à l’introduction des

.

Écrire qui exécute l’affichage à l’écran ou l’impréssion des

résultats.

Les valeurs manipulées sont:

Des constantes (100)

Des variables (somme initiale, taux, intérêt,

valeur_acquise)

Ainsi

Interet<-- somme_initiale*taux/100: Assigner à la variable

intérêt la valeur de l’expression à droite.

<-- : symbole d’affection

Structure d’un algorithme

19

1- Déclaration des constantes :

Syntaxe : Constante NomConstante : [Type] = Valeur

Exemples :

Syntaxes et exemples

20

Constante Pi : Reel = 3.141559

Constante Note_réf : Entier = 10 ;

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 6/23

2- Déclaration des variables

Syntaxe : Variable NomVariable : [Type]

Exemples :

Variable Rayon : Reel

Variable note_exam1 : Entier

Variable sexe : Caractère

Type Utilité Exemple

BooléenReprésente un état

binaire, vrai ou fauxVrai

NumériqueReprésente unnombre quelconque

12345.6789

 

Caractère

Représente uncaractère unique(comme une touchedu clavier)

'c'

Chaîne de caractères Représente un texte "contenu de lachaîne"

Type de variable Mot clé Octets  nécessaires 

Caractère char 1

Entier int 4

Entier long long 8

Réel standard float 4

Réel double précision double 8

3- Corps de l’algorithme ou programme principal

Le programme principal consiste en une suite d’opérations

élémentaires faisant souvent appel à sous programmes Leprogramme principal est délimité par les mots-clefs Début et

24

Fin, la partie réellement exécutées dans un algorithme ou

programme .

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 7/23

4- Affectation

L’affectation consiste à attribuer une valeur à une

variablel'affectation se note avec le signe←.

 

NomVariable et Expression doivent être de même typeou de types compatibles

Exemple : var←5 ;var← donnéesurface← pi*rayon*rayon

Application :1) Donnez les valeurs des variables A, B et C après exécutiondes instructions suivantes ?Variables A, B, C : Entier

26

DébutA← 3B← 7A← B

B← A+5C← A + BC← B – AFin

5- Instructions d’entrée et sorties

Les instructions d’Entrée/Sortie (E/S) permettent à la machine

de communiquer avec l’utilisateur.La lecture permet d'entrer des donnés à partir du clavier en

27

algorithme on note Lire(Variable).

L'écriture permet d'afficher des résultats à l'écran (ou de les

écrire dans un fichier). Et on note : écrire (« Bonjour tout le

monde »)

Exemple :

Saisir le prix d’un produit :

Variable prix : entier

Début

" "

28

 

Lire (prix)

Ecrire ( "le prix saisi est" , prix)

Fin

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 8/23

Application :

1. Ecrire un algorithme qui demande un nombre entier àl'utilisateur, puis calcule et affiche le double de cenombre ?

2.Écrire un algorithme qui calcule la surface S d’uncercle selon la formule S = Pi * R^2 ?

1- Calcul du double d’un nombreAlgorithme Calcul_doublevariables A, B : entierDébutécrire("Saisir la valeur de A: ")

30

B← 2*Aécrire("le double de ", A, "est :", B)Fin

2- Application calcule surface

Calcul_surfaceConstantes

Pi = 3,14159Variables

 

31

Rayon, Surface : réelsDébutlire (Rayon)Surface := Pi * (Rayon)2écrire (Surface)Fin

Langage de programmations

Chapitre 2

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 9/23

 

33

rogrammer, ans que angage

Langage de programmation

1

Visuel basic

Bases de langage Visuel Basic for application

On appelle « langage informatique » un langage destiné à décrirel'ensemble des actions qu'un ordinateur doit exécuter.

35

Un langage informatique est ainsi une façon pratique pour nous(humains) de donner des instructions à un ordinateur.

(visuel basic, langage C, C++, Assembleur …)

Un langage informatique a donc plusieurs avantages :

 

36

il est plus facilement compréhensible que le langage machine

il permet une plus grande portabilité, c'est-à-dire une plus

grande facilité d'adaptation sur des machines de types différents ;

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 10/23

Le Visual Basic est l’un des langages de programmation les plus

Pourquoi Visual Basic ?

37

performants et les plus simples à utiliser.

Sa simplicité explique son choix pour le développement des

interfaces.

Permet le développement rapide d'application

Langage de Programmation derivé de Visual Basic

Editeur : Microsoft

38

Dernière Version : 7.1 Office 2013

Licence : Propriétaire

Intégré dans la suite Office, AutoCAD, CATIA,

Créer des applications graphiques de façon simple

Créer des exécutables fichiers .EXE

Fonctionnalité du langage :

39

  . ,

Connections à la base de donnée.

être facile d'utilisation pour les débutants

fournir des messages d'erreur clairs

Le VBA (Visual Basic for Applications) est un langage proche du Visual Basicqui nécessite une application hôte pour s'exécuter

(Excel dans notre cas).

Comment afficher l’onglet devloppeur du Visual Basic sur l’Excel ?

40

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 11/23

Un projet, oui mais lequel ?Module defeuilleUn projet s'applique en général

sur un travail dans le classeur ou

41

Module declasseur

dans une feuille de calculparticulière. C'est un groupe demacros, qui s'appellent entreelles, qui échangent avecl'utilisateur...

Chaque mot en gras est un projet. Vous pouvez l'explorer au moyen dela petite croix à gauche de chacun :

Nous allons ajouter un nouveau module qui va vouspermettre de coder. le menu «Insertion » puis cliquez sur

« Module » :

42

Comment renommer un module?

43

Cliquez sur le bouton« Fenêtre Propriétés (F4) » :ça affichera le menu despropriétés du module

Pour travailler avec du code VBA, nous avons besoin d'un éditeur, celui-ciest déjà installé et vous pouvez l'ouvrir avec le raccourci "Alt F11" :

44

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 12/23

Exemple d’application :

-Programme affichant une fenêtre avecles mots « Bonjour tout le monde »

Sub main ()MsgBox ("Bonjour tout le monde")End Sub

45

Les noms de variables n’ont pas de longueur maximale

Les variables permettent de stocker toutes sortes de données.

Les variables

46

Ils doivent commencer par un caractère

Ils ne doivent pas comporter d’espace

Elle est limitée à 40 caractères

Elle ne doit pas être identique à un mot réservé

Comment créer une variable ?

Dim <nom_variable >As <Type>

Dim ma_variable As IntegerExemple :

Dim : déclaration de la variable

47

 ma_variable : nom choisi pour cette variable (sans espaces)As : déclaration du type de la variableInteger : type de la variable

On peut déclarer plusieurs variables sur une même ligne

Dim nom As String, prenom As String, age AsInteger

Type de variable :

48

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 13/23

Boolean : True – FalseByte : de 0 à 255

Inte er : de –32 768 à 32 767

Type de variable :

49

 

Long : de –2 à +2 milliards environ

Single : virgule flottante simple précision

Double : virgule flottante double précisionString : jusqu’à 65 000 caractères

'Exemple : nombre entierDim nbEntier As IntegernbEntier = 12345

'Exemple : nombre à virguleDim nbVirgule As SinglenbVirgule = 123.45

'

50

 Dim varTexte As StringvarTexte = "Bonjour"

'Exemple : dateDim varDate As Date

varDate = "06.02.2015"

'Exemple : vrai/fauxDim varBoolean As BooleanvarBoolean = True

Que contient ma variable ?

Exemple pratique :

Affichage de la valeur 12 de la variable « N » dans une boîte de dialogue

51

Sub variables()'Déclaration de la variableDim N As Integer'Attribution d'une valeur à la variableN= 12'Affichage de la valeur de N dans une MsgBoxMsgBox N

End Sub

Exemple pratique TP1:

Sub Test ()Dim a As Integer, b As Integer, c As Integer

a=3b=5

52

a=a+b ‘a devient =8’c=a*b ‘c=40’Msgbox aMsgbox c

End Sub

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 14/23

Importance des type

Sub Test ()Dim a As Inte er, b As Inte er, c As Inte er

53

 a=9b=2c=a/b

Msgbox cEnd Subc=4

Importance du type

Sub Test ()Dim a As Integer, b As Integer, c As single

a=9

54

b=2c=a/b

Msgbox cEnd Sub

c=4,5

1-Ecrire un programme en langage visuel basic qui demande unnombre entier à l'utilisateur, puis calcule et affiche le double de ce

nombre ?

 

Exercices d’applications TP1 :

55

2. crire un programme qui calcule la surface S d’un cercle selonla formule S = Pi * R^2 ?

3- Ecrire un programme qui calcul le montant total hors taxe et lemontant total avec taxe comprise.

on donne Prix1=3600 Dh/HT et Prix2=4500Dh/HT

Les conditions

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 15/23

Instruction conditionnelle : Si

Les instructions conditionnelles servent à n'exécuter une instruction ouune séquence d'instructions que si une condition est vérifiée.

57

Explication

Si la condition 1 est vraie, les instructions 1 sont

exécutées puis nous sortons de l'instruction If (qui débute

avec If et finit à End If). Si la condition 1 est fausse, nous

58

passons à la condition 2. Si celle-ci est vraie les instructions 2

sont exécutées si ce n'est pas le cas les instructions 3 seront

alors exécutées

Syntaxe Algo : Si (condition) alorsInstruction ou séquence d’instructions 1SinonInstruction ou séquence d’instructions 2Finsi

S ntaxe VBA : If condition Then

59

 Passages à la ligne obligatoires

instruction 1instruction 2...Elseinstruction 1...

End If

Condition SI SINON SI :

Syntaxe Algo : Si( condition )alorsInstructions1Sinon si (condition) alors

Instructions1Finsi

60

Syntaxe VBA : If (condition) Theninstruction 1...Else if (condition) Theninstruction 1...

End If

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 16/23

Application 1 :

TP

61

 qui calcul la valeur absolue d’un nombre réel

Programme en VBA :

Sub valeur_absolu()

Dim x As Doublex = InputBox("donner la valeur de x")If (x < 0) ThenMsgBox -x

Correction :

Algorithme : Calcul valeur absolue

Variable x : réelDébutEcrire (" Entrez un réel : ")Lire (x)

 

62

ElseMsgBox xEnd If

End Sub

 Ecrire ("la valeur absolue de ", x, "est:",-x)SinonEcrire ("la valeur absolue de ", x, "est:",x)FinsiFin

Syntaxe en VB:Dim a As Integer, b As

Integer

Application 2 : Ecrire un programme qui affiche la valeur de b=1si a=5 et b=2 si a<15 et b=3 pour les autres valeur

Autre syntaxe en VB:

Dim a As Integer, b AsInteger

63

a=5If a<10 Then

b=1Else

b=2End If

=If a<10 Then

b=1Else If a<15

b=2Else

b=3

End If

Sub test_condition()

Dim age As Byte =

Application 3 : Ecrire un programme qui affiche une phrase enfonction du résultat de l’age .

Variable a : entier

DébutAge =20

Algorithme : condition Syntaxe VBA

64

 

If age >= 18 ThenMsgBox "Vous êtes un adulte"

ElseMsgBox "Vous êtes encore mineur"

End IfEnd Sub

  >=Ecrire ("Vous êtes un adulte« )SinonEcrire ("Vous êtes encore mineur« )

Fin si Fi

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 17/23

Application 4 :

Ecrire un programme qui demande à l’utilisateur de faire entrer un

nombre, et l’informe si ce nombre est positif ou négatif (on laisse de côté le cas

où le nombre vaut zéro)

65

Ecrire un programme en VBA qui demande à l’utilisateur de faire entrer une note et

d’afficher Bien si la note supérieure à 14, A. Bien si la note est supérieure à 12,

passable si la note est inférieure à 12 et supérieure a 10 et travail insuffisant si la

note est inférieur à 10

les opérateurs arithmétique (de comparaison ):

= est égal à

<> est différent de

66

< est plus petit que

<= est plus petit ou égal à

> est plus grand que

>= est plus grand ou égal à

Les opérateurs Logiques:

AND et[condition1] AND [condition2]Les 2 conditions doivent êtrevraies

67

OR ou[condition1] OR [condition2]Au moins 1 des 2 conditionsdoit être vraie

NOT fauxNOT [condition1]La condition doit être fausse

Syntaxe algorithme

Casx = ‘a’→ traitement 1

Structure « cas » :

Syntaxe VBA

Select Case x

Case ‘a’Traitement 1

68

x = ‘c’→ traitement 2…autre→ traitement nFin cas

Case ‘c’Traitement 2…Case ElseTraitement n

End Select

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 18/23

Une boucle est un ensemble d’instructions qui est répété un certainnombre de fois.

Les boucles

69

Si l’on veut faire un compteur qui compte jusqu’à 50000, alors c’est laseule solution.

Plusieurs syntaxes possibles:For, While, Loop, Do While, …Les plus utilisées: For et While

Boucle : Pour/ next :

Syntaxe Algorithme :

Pour x allant de 0 à 9 faireTraitement

70

Fin pour

Syntaxe VBA :

For x=0 to 9TraitementNext x [nom de la variabled'incrément]

Syntaxe VBA avec boucle

Sub boucle ()For nombre = 1 to 10Ms Box nombre

Syntaxe VBA sansboucleSub boucle()

MsgBox "1" 

Boucle : Pour/ next :

Exemple : afficher de 1 à 10

71

 

Next nombreEnd sub

sg oxMsgBox "3"MsgBox "4"MsgBox "5"MsgBox "6"MsgBox "7"MsgBox "8"MsgBox "9"MsgBox "10"

End Sub

Ecrire un algorithme puis un programme en VBA qui demande un nombreau départ, et qui calcule la Somme des entiers jusqu'à ce nombre. Parexemple si l'on tape 4 l’algorithme doit calculer: 1+2+3+4=10

Algorithme : somme nombre

Variable n , i , S : EntiersEcrire(« donner un nombre n « )Li re (n)

Programme VBA:

Sub calcul_somme()Dim n, i, S As Integern = InputBox("donner la valeur de n")

72

S=0Pour i=1 a n faireS S+iFin pourEcrire (« la somme de 1 a n est S « )Fin

For i = 1 To nS = S + iNext iMsgBox S

End Sub

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 19/23

Boucle tant que / While :

Dans cette structure, on commence par tester la condition ; sielle est vérifiée, le traitement est exécuté.

Diff érence avec For: on ne conna î t pas toujours la fin de laboucle à l’avance.

73

 

Syntaxe VBAWhile (condition)

instruction 1Wend

Syntaxe Algorithme:tant que (condition est vérifiée) faire

Instruction 1 .Fin tant que... ...

Boucle While:

Exemple : Afficher de 1 à 10 en utilisant la boucle tant que .Syntaxe VBASub test_while()

 

Syntaxe AlgorithmeAffichage

74

m nom re as n egernombre= 0While nombre < 10nombre = nombre + 1MsgBox nombre

WendEnd Sub

ar a e : nom re : en erDébutNombre =0Tant que nombre <10 faireNombre=nombre +1

Ecrire (nombre )Fin tant queFin

Do Loop

Cette boucle fonctionne de la même manièreque While Wend (tant que la condition est vraie, laboucle est exécutée) :

Syntaxe

Do While [condition]'Instructions

Loop

Exemple : Afficher de 1 à 10 en utilisant laboucle (do While…loop)

Sub exemple1()Dim n As Integer

n = 0do while n<10 

n = n + 1MsgBox nloop

End Sub

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 20/23

La condition peut également être placée en fin deboucle Do Loop, ce qui implique que les instructionssont exécutées au moins une fois :

Sub boucle_do_while()

Do'Instructions

Loop While [condition]

End Sub

Plutôt que de répéter la boucle tant que la condition

est vraie, il est possible de quitter la boucle lorsque la

condition est vraie en remplaçant While par Until :

Do Until condition

'Instructions

Loop

La boucle Do Until :

Exemple : Afficher de 1 à 10

Syntaxe VBASyntaxe Algorithme

Affichage

79

  _ Nombre = 0Do Until nombre = 10

nombre = nombre + 1MsgBox nombreLoopEnd Sub

ar a e : nom re : en erDébutRépéter [Jusqu'à ce que]nombre =10 faireNombre=nombre +1Ecrire (nombre )Fin

La boucle Do Until :

Exemple : Ecrire un programme qui demande un nombre a l’utilisateurencore et encore tant que l'utilisateur s'évertue a entrer un autre chiffreque 5

80

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 21/23

La boucle Do Until :

Exemple : Ecrire un programme qui demande un nombre a l’utilisateur

encore et encore tant que l'utilisateur s'évertue a entrer un autre chiffreque 5

 Syntaxe Algorithme

81

 Sub TestLoop()Dim n As IntegerDon= InputBox("Entrez un chiffre")

Loop until n <> 5

End Sub

DébutVar : n entierRépéterEcrire (‘donner un nombre »)Lire (n)Jusqu’à ce que n<>5Fin

Structures LangageAlgorithmique

Langage Visual Basic

Si condition alors

TraitementFin si

If condition then

TraitementEnd if 

Si condition alors

Traitement 1Sinon

Traitement 2

If condition then

Traitement 1Else

Traitement 2

82

Conditionnelles

 Fin si

 End if 

Cas

x = ‘a’→ traitement 1x = ‘c’→ traitement 2

…autre→ traitement n

Fin cas

Select Case x

Case ‘a’

Traitement 1Case ‘c’

Traitement 2…Case Else

Traitement nEnd Select

Tableau Récapitulatif Structures Langage Algorithmique Langage Visual Basic

Itératives

Tant que condition faire

TraitementFin tant que

While condition

Traitementwend

faire Tant que conditionTraitementFin tant que

Do while conditionTraitementloop

83

faire

TraitementFin tant que condition

Do

TraitementLoop while condition

Répéter

TraitementJusqu’à condition

Do

TraitementLoop until condition

Pour x allant de 0 à 9

Traitement 

For x=0 to 9

Traitement

Exercice 1 :

Ecrire un algorithme qui demande un nombre compris entre 10 et 20,us u’à ce ue la ré onse convienne. En cas de ré onse su érieure à

84

 20, on fera apparaître un message : « Plus petit ! », et inversement, «Plus grand ! » si le nombre est inférieur à10 ;

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 22/23

Solution : AlgorithmeVariable N en EntierDebutEcrire "Entrez un nombre entre 10 et 20«TantQue N < 10 ou N > 20

 

85

 Si N < 10 AlorsEcrire "Plus grand !«SinonSi N > 20 AlorsEcrire "Plus petit !«FinSiFinTantQueFin

Solution :VBASub test()Dim n As IntegerWhile n < 10 Or n > 20n = InputBox("donner un nombre entre 10 et 20") 

86

 MsgBox ("nombre plus petit")ElseIf n > 20 ThenMsgBox ("nombre plus grand ")End IfWendEnd Sub

Exercice 2 :

Ecrire l’algorithme qui demande un nombre à l’utilisateur et affiche les10 nombres suivant.

Exercice 2 :Ecrire un programme que demande un mode passe a l’utilisateur Si on

'

87

en re e on mo e passe mm a emen , e programme s arr e s nonil nous donne mauvaise réponse , essayez encore .

Solution exercice 1 :

Sub boucle()Dim n, i As Integern = InputBox("donner un nombre")

For i = 0 To 5s = n + i

 

Solution exercice 2 :

Sub TestLoop5()Dim Reponse As String

Reponse = InputBox("entrer le mode

passe ")Do Until Reponse = "test"

88

sg ox sNext i Reponse = InputBox("Mauvaise

réponse. Essayez encore")

Loop

End Sub

7/17/2019 Cours Vba Tm

http://slidepdf.com/reader/full/cours-vba-tm 23/23

Boucle While: Ecrire un algorithme puis un programme en VBA quidemande un nombre de départ, et qui calcule la Somme des entiers jusqu'à ce nombre. Par exemple si l'on tape 4 l’algorithme doit calculer:

1+2+3+4=10

Algorithme : somme nombreVariable n , i , S : Entiers

Programme VBASub somme()

 

89

Ecrire(« donner un nombre n « )Lire (n)S=0i=1Tant que i<=n faire

S S+ii=i+1Fin tant queEcrire (« la somme de 1 a », n , » est », S )Fin

Dim s, n, i As Integern = InputBox(« donner un nombre n")s =0While i <= ns = s + ii=i+1

wendMsgBox (« la somme de 1 a »&n& «est » & s)End Sub