Cours VBA TM PDF
Cours VBA TM PDF
Cours VBA TM PDF
Informatique II
Programmation Evénementielle Introduction à l’algorithmique et à
la programmation
Technique de Management S2
2 Informatique 1 2014/2015
Programmation informatique
4
3 2014/2015
Les étapes de développement
Notion d’algorithme
Description d’un processus de résolution d’un problème C’est une suite des actions à effectuer pour
bien défini. • réaliser un traitement donné
Succession d’actions qui, agissant sur un ensemble de • résoudre un problème donné
ressources (entrées), fourniront la solution (sortie) au
Un algorithme est la description ,en langage naturel,
problème.
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,
8
Structure d’un algorithme
9 10
Exemple
Enoncé du problème indique:
permettant de passer des données au résultats . Comprendre la nature du problème posé et préciser les
Nos connaissance nous permettent d’exprimer cette règles: données fournies (input).
‘’ Pour Obtenir l’intérêt fournit par la somme, il suffit de Préciser les résultats qu’on désire obtenir (output).
multiplier la somme par le taux d’intérêt divisé par cent; la Déterminer le processus de transformation des données en
valeur acquise s’obtient en additionnant ce dernier montant et la résultats.
somme initiale ’’
19 20
Type Utilité Exemple
2- Déclaration des variables
Représente un état
Booléen Vrai
Syntaxe : Variable NomVariable : [Type] binaire, vrai ou faux
Représente un
Numérique 12345.6789
Exemples : nombre quelconque
Représente un
Variable Rayon : Reel caractère unique
Caractère 'c'
(comme une touche
Variable note_exam1 : Entier du clavier)
Variable sexe : Caractère "contenu de la
Chaîne de caractères Représente un texte
chaîne"
24
Exemple : var ←5 ;
4- Affectation var ← donnée
surface ← pi*rayon*rayon
L’affectation consiste à attribuer une valeur à une Application :
variable 1) Donnez les valeurs des variables A, B et C après exécution
l'affectation se note avec le signe ←. des instructions suivantes ?
Variables A, B, C : Entier
NomVariable ← Expression Début
NomVariable et Expression doivent être de même type A←3
ou de types compatibles B←7
A←B
B ← A+5
C←A+B
C←B–A
Fin
26
27 28
Application :
1- Calcul du double d’un nombre
1. Ecrire un algorithme qui demande un nombre entier à Algorithme Calcul_double
l'utilisateur, puis calcule et affiche le double de ce variables A, B : entier
nombre ? Début
2.Écrire un algorithme qui calcule la surface S d’un écrire("Saisir la valeur de A: ")
lire(A)
cercle selon la formule S = Pi * R^2 ?
B ← 2*A
écrire("le double de ", A, "est :", B)
Fin
30
Chapitre 2
31
Langage de programmation
33
1
On appelle « langage informatique » un langage destiné à décrire Un langage informatique a donc plusieurs avantages :
l'ensemble des actions qu'un ordinateur doit exécuter.
il est plus facilement compréhensible que le langage machine
Un langage informatique est ainsi une façon pratique pour nous
(humains) de donner des instructions à un ordinateur. il permet une plus grande portabilité, c'est-à-dire une plus
grande facilité d'adaptation sur des machines de types différents ;
(visuel basic, langage C, C++, Assembleur …)
35 36
Pourquoi Visual Basic ?
37 38
Le VBA (Visual Basic for Applications) est un langage proche du Visual Basic
qui nécessite une application hôte pour s'exécuter
(Excel dans notre cas).
Fonctionnalité du langage :
Comment afficher l’onglet devloppeur du Visual Basic sur l’Excel ?
39 40
Nous allons ajouter un nouveau module qui va vous
permettre de coder. le menu «Insertion » puis cliquez sur
Un projet, oui mais lequel ?
« Module » :
Module de
Un projet s'applique en général feuille
sur un travail dans le classeur ou
dans une feuille de calcul
particulière. C'est un groupe de
macros, qui s'appellent entre Module de
elles, qui échangent avec classeur
l'utilisateur...
Pour travailler avec du code VBA, nous avons besoin d'un éditeur, celui-ci
Comment renommer un module? est déjà installé et vous pouvez l'ouvrir avec le raccourci "Alt F11" :
43 44
Exemple d’application :
Les variables
-Programme affichant une fenêtre avec
les mots « Bonjour tout le monde »
Les variables permettent de stocker toutes sortes de données.
Sub main ()
MsgBox ("Bonjour tout le monde")
End Sub Les noms de variables n’ont pas de longueur maximale
45 46
47 48
Type de variable : 'Exemple : nombre entier
Dim nbEntier As Integer
nbEntier = 12345
Sub Test ()
Exemple pratique :
Dim a As Integer, b As Integer, c As Integer
Affichage de la valeur 12 de la variable « N » dans une boîte de dialogue
a=3
b=5
Sub variables() a=a+b ‘a devient =8’
'Déclaration de la variable
Dim N As Integer c=a*b ‘c=40’
'Attribution d'une valeur à la variable
N= 12
Msgbox a
'Affichage de la valeur de N dans une MsgBox Msgbox c
MsgBox N
End Sub
End Sub
51 52
Importance du type
Importance des type
Sub Test ()
Sub Test () Dim a As Integer, b As Integer, c As single
Dim a As Integer, b As Integer, c As Integer a=9
a=9 b=2
b=2 c=a/b
c=a/b Msgbox c
Msgbox c End Sub
End Sub
c=4 c=4,5
53 54
55
Instruction conditionnelle : Si
Explication
Les instructions conditionnelles servent à n'exécuter une instruction ou Si la condition 1 est vraie, les instructions 1 sont
une séquence d'instructions que si une condition est vérifiée.
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
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
57 58
59 60
TP Correction :
Programme en VBA :
Algorithme : Calcul valeur absolue
Sub valeur_absolu()
Variable x : réel
Début Dim x As Double
Ecrire (" Entrez un réel : ") x = InputBox("donner la valeur de x")
Application 1 : If (x < 0) Then
Lire (x)
MsgBox -x
Faire un Algorithme et ensuite un programme en VBA Si (x < 0) alors
Else
Ecrire ("la valeur absolue de ", x, "est:",-x)
qui calcul la valeur absolue d’un nombre réel MsgBox x
Sinon
End If
Ecrire ("la valeur absolue de ", x, "est:",x)
Finsi
End Sub
Fin
61 62
65 66
Structure « cas » :
Les opérateurs Logiques:
67 68
Boucle : Pour/ next :
Les boucles
Syntaxe Algorithme :
Une boucle est un ensemble d’instructions qui est répété un certain
nombre de fois. Pour x allant de 0 à 9 faire
Traitement
Si l’on veut faire un compteur qui compte jusqu’à 50000, alors c’est la Fin pour
seule solution.
Syntaxe VBA :
Plusieurs syntaxes possibles: For x=0 to 9
For, While, Loop, Do While, … Traitement
Les plus utilisées: For et While Next x [nom de la variable
d'incrément]
69 70
End Sub
71 72
Boucle tant que / While :
Boucle While:
Dans cette structure, on commence par tester la condition ; si
elle est vérifiée, le traitement est exécuté.
Exemple : Afficher de 1 à 10 en utilisant la boucle tant que .
Différence avec For: on ne connaît pas toujours la fin de la Syntaxe Algorithme Syntaxe VBA
Affichage Sub test_while()
boucle à l’avance.
Variable : nombre : entier Dim nombre as integer
Début nombre= 0
Nombre =0 While nombre < 10
Syntaxe Algorithme: Tant que nombre <10 faire nombre = nombre + 1
Syntaxe VBA
tant que (condition est vérifiée) faire While (condition) Nombre=nombre +1 MsgBox nombre
Instruction 1 . instruction 1 Ecrire (nombre ) Wend
Fin tant que Wend Fin tant que End Sub
... ... Fin
73 74
Do
'Instructions Do Until [condition]
Loop While [condition]
'Instructions
End Sub Loop
79 80
Structures Langage Langage Visual Basic
Algorithmique
La boucle Do Until :
Si condition alors If condition then
Traitement Traitement
Exemple : Ecrire un programme qui demande un nombre a l’utilisateur
Fin si End if
encore et encore tant que l'utilisateur s'évertue a entrer un autre chiffre
que 5 Si condition alors If condition then
Traitement 1 Traitement 1
Syntaxe Algorithme Sinon Else
Syntaxe VBA Traitement 2 Traitement 2
Sub TestLoop() Fin si End if
Début Conditionnelles
Var : n entier Dim n As Integer Select Case x
Répéter Do Cas Case ‘a’
n= InputBox("Entrez un chiffre") x = ‘a’ → traitement 1 Traitement 1
Ecrire (‘donner un nombre »)
Loop until n <> 5 x = ‘c’ → traitement 2 Case ‘c’
Lire (n) … Traitement 2
Jusqu’à ce que n<>5 End Sub
autre → traitement n …
Fin Fin cas Case Else
Traitement n
End Select
81 82
Structures Tableau
Langage Récapitulatif
Algorithmique Langage Visual Basic
Répéter Do
Traitement Traitement
Jusqu’à condition Loop until condition
85 86
Ecrire l’algorithme qui demande un nombre à l’utilisateur et affiche les Sub boucle() Sub TestLoop5()
10 nombres suivant. Dim n, i As Integer Dim Reponse As String
n = InputBox("donner un nombre") Reponse = InputBox("entrer le mode
Exercice 2 : For i = 0 To 5 passe ")
Ecrire un programme que demande un mode passe a l’utilisateur Si on s=n+i Do Until Reponse = "test"
entre le bon mot de passe immédiatement, le programme s'arrête sinon MsgBox s
il nous donne mauvaise réponse , essayez encore . Next i Reponse = InputBox("Mauvaise
réponse. Essayez encore")
Loop
End Sub
87 88
Boucle While: Ecrire un algorithme puis un programme en VBA qui
demande 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