lOMoARcPSD|32927822
Lexique algorithmique
Master 1 (Génie Civil)
Fayçal Goudjil
lOMoARcPSD|32927822
Lexique des instructions de base en algorithmique
Algorithme : Ensemble d’instructions logiques aboutissant à un résultat.
En informatique l’algorithme permet dans un langage simple et compréhensible d’élaborer les bases d’un programme.
L’algorithme doit ensuite être adapté, traduit dans le langage choisi (VBA, C++, Pascal…)
Structure de base d’un algorithme :
Un algorithme est toujours structuré de la manière suivante :
Nom_de_l’algorithme
Déclaration
Des variables et constantes utilisées dans l’algorithme
Début
Instructions
Fin
Les variables se déclarent comme ceci :
- NOMVARIABLE : Type
Le type peut être : réel, entier, chaîne de caractère, date…
Les constantes :
- Constante NOMCONSTANTE ← Valeur
A un moment donné une variable ne peut avoir qu’une seule valeur. La constante a une valeur fixe pour la durée
de l’exécution de l’algorithme.
Les instructions de base :
Affecter une valeur à une variable :
Afficher « message »
Saisir NOMVARIABLE
Le message est a adapté en fonction du contexte. Il coexiste une autre écriture :
Saisir « message » , NOMVARIABLE
La virgule est ici utile pour séparer l’affichage de la saisie.
Réaliser des calculs :
Les opérandes (+ , - , *, / ,^ ) s’appliquent aux variables et constantes. Il faut simplement affecter le résultat
d’une opération à une variable préalablement déclarée.
Exemple : MONTANT ← QUANTITE * PRIXU
Le résultat de la valeur de la variable QUANTITE multipliée par la valeur de la variable PRIXU sera affecté
comme valeur de la variable MONTANT.
Afficher un message simple à l’écran :
Afficher « message »
Afficher un message incluant des variables à l’écran :
Afficher « début_message », NOMVARIABLE, « fin_du_message »
Exemple : Afficher « le montant HT est de », MONTANT, « euros. »
Les structures conditionnelles
Simple :
Si conditions
Alors instructions
FinSi
Alternatives :
Si conditions
Alors instructions 1
Sinon instructions 2
FinSi
Fayçal Goudjil
lOMoARcPSD|32927822
Les instructions peuvent être des calculs, des messages affichés, ouvrir d’autres structures conditionnelles…la
logique est la même qu’avec la structure conditionnelle sous tableur.
Les structures itératives
Le Pour - Fin pour
Pour I de 1 à N faire
Instructions
Fin pour
Permet d’exécuter un nombre de boucle N fois, N étant une variable ou un nombre directement inscrit dans
l’instruction.
Il faut donc déclarer la variable N et la variable I (tous deux entiers).
I est un indice qui prend la valeur 1 lors de la première lecture puis à chaque passage à l’instruction Fin Pour 1
est ajouté à cet indice et on boucle pour revenir au test de l’instruction Pour. La valeur de l’indice est alors
comparée à N si la valeur de l’indice I est supérieure à la valeur de N alors les instructions ne sont plus réalisées.
Répéter Jusqu’à
Répéter
Instructions
Jusqu’à condition
Les instructions sont réalisées une première fois puis si la condition de sortie est vérifiée on arrête l’exécution de
la boucle.
Exemple :
Répéter
Instructions
Afficher « Voulez vous poursuivre le traitement ? Répondez par Oui ou Non »
Saisir REPONSE
Jusqu’à REPONSE = « Non »
Dans ce cas il faut déclarer la variable REPONSE
Tant Que - Fin Tant Que
Tant Que condition Faire
Instructions
Fin Tant Que
Si la condition est vérifiée les instructions sont exécutées une première fois et sont ensuite ré exécutées tant que
la condition est vérifiée.
Exemple :
--/--
Afficher « Faut-il réaliser un traitement ? Oui / Non »
Saisir REPONSE
Tant Que REPONSE = « Oui » Faire
Instructions
Afficher « Faut – il réaliser un autre traitement ? Oui / Non ? »
Saisir REPONSE
Fin Tant Que
-- / --
Initiation au VBA.
VBA Visual Basic pour Application est un langage de programmation orienté objet qui est commun à toutes les
applications de la suite Microsoft Office.
VBA s’utilise en environnement Visual Basic Editor.
La programmation permet d’automatiser des actions répétitives, créer des formulaires (boîtes de dialogue),
personnaliser Excel, modifier les options d’Excel, communiquer avec les autres applications Microsoft Office…
Quelques règles pratiques
Fayçal Goudjil
lOMoARcPSD|32927822
Les règles d’écritures concernant les algorithmes sont à observer également pour la programmation :
- Le retour à la ligne,
- les tabulations à placer pour marquer une boucle ou une alternative,
- les variables en majuscules…
Passage de l’algorithme au VBA
Instructions algorithmiques Instructions VBA
Titre de l’algo (nom du programme) et Début Sub nom_du_programme
Fin End Sub
Déclaration Juste après le Sub, il n’y a pas de mot réservé
Déclaration d’une variable exemple : TTC : réel Dim TTC as Single
Type de variable :
- entier court (-32768 à 32767): Integer
- entier long : Long
- réel simple : Single
- réel double : Double
- chaîne de caractères String (si on veut limiter la longueur ajouter * nombre de caractères
maximums exemple : Dim NOM as String*20)
- date Date
Constante exemple : Constante TVA : 19,6 Const TVA = 19.6 (attention la virgule est remplacée par un
point)
Affectation exemple : TTC HT + TVA TTC = HT + TVA
Signes opérations addition : +
soustraction : -
multiplication : *
division : /
élever à la puissance : ^
Instructions algorithmiques Instructions VBA
Afficher message variable = InputBox (« message »)
Saisir variable
Exemple Exemple :
Afficher « Quel est le montant du chiffre d’affaires ? » CA= InputBox (« Quel est le montant du chiffre d’affaires ?»)
Saisir CA
L’affichage apparaît sous la forme d’une boîte de dialogue où
une zone de saisie permet d’inscrire la valeur.
Afficher un message et des variables ensemble sans MsgBox « le prix de vente TTC est de » & TTC & « euros »
attendre de saisie.
Exemple : Afficher « le prix de vente TTC est de » , L’affichage apparaît sous la forme d’une boîte de dialogue.
TTC, « euros » Le sigle & permet de faire une concaténation c’est à dire
Fayçal Goudjil
lOMoARcPSD|32927822
placer un ensemble de caractères à la suite du message. Il
correspond à la virgule en algorithme.
Commentaires { commentaires } Rem commentaires
ou ‘ commentaires
SI conditions If conditions Then
ALORS instructions si vrai instructions si vrai
SINON instruction si faux Else instruction si faux
FINSI End If
POUR I de 1 à 10 FAIRE For I = 1 to 10
instructions instructions
FIN POUR Next
TANT QUE conditions FAIRE While conditions
Instructions Instructions
FINTANTQUE Wend
REPETER instructions Do
JUSQUA conditions instructions
Loop While conditions
Instructions particulières Pour l’affichage
saut de paragraphe vbCr
Saut de ligne vbLf
Retour à la ligne et saut de ligne pour l’affichage vbCrLf
Insertion d’une tabulation vbTab
Fayçal Goudjil
lOMoARcPSD|32927822
Pour concevoir un programme en VBA
1 Concevoir l’algorithme correspondant
2 Ouvrir le classeur où doit être inséré le programme (module)
3 Lancer Visual Basic Editor en utilisant les touches ALT et F11
4 Afficher l’explorateur de projet Affichage / Explorateur de projet
5 Cliquer sur la feuille concernée (feuil1 par exemple)
6 Dans la fenêtre à droite saisir le programme (insertion module)
7 Faire un essai en lançant l’exécution
8 Corriger le programme, refaire des essais, enregistrer le classeur.
Affecter une valeur d’un programme à une cellule d’Excel
Cette instruction n’existe pas en algorithmique, l’écriture en VBA est la suivante :
Range("référence_cellule") = valeur
valeur peut être :
- une valeur fixe exemple : Range("D12") = 9
- une variable Range("D12") =NOMCLI
Aller chercher une valeur dans une cellule de la feuille Excel pour l’utiliser dans le programme
NOMVARIABLE = Range("référence_cellule")
Exemple :
NOMCLI = Range(« G5 »)
Insérer un bouton d’appel d’un programme dans la feuille d’Excel
1 Activer les barres d’outil Visual Basic et Formulaires
2 Activer le mode création
3 Insérer le bouton et associer le nom du programme.
Exemples
Voici les programmes en VBA des algo 1, 4 et 10 proposés dans la formation.
On obtient une traduction –partielle- en VBA depuis le logiciel Pratiquer l’Algorithmique via le menu
TRADUCTION > Visual Basic.
Fayçal Goudjil
lOMoARcPSD|32927822
Dès lors vous pouvez copier cette traduction puis la coller dans un module VBA d’Excel puis l’exécuter.
Néanmoins plusieurs rectifications sont nécessaires :
Afficher/saisir à remplacer par InputBox
Afficher par MsgBox
Pour les constantes il y a des espaces à supprimer pour la valeur (autour de la « , »)
En boucle POUR effacer le Faire
Mettre le End Sub à la fin du programme.
Pour visualiser les instructions dans le module 1 : ALT-F11
Traduction Algo 01
Sub Algorithme01()
Dim Prix As Single
Dim Quant As Integer
Dim Montant As Single
Const TVA = 0.196
Quant = InputBox("Nombre de produits commandés")
Prix = InputBox("Prix unitaire")
Montant = Prix * Quant * (1 + TVA)
MsgBox ("Le montant dû TTC est de " & Montant & " € ")
End Sub
Traduction Algo 04
Sub Algorithme04()
Dim Prix As Integer
Dim Quantité As Integer
Dim Montant As Single
Dim Remise As Single
Const Taux1 = 0.05
Const Taux2 = 0.1
Const TVA = 0.196
Quantité = InputBox("Nombre de produits commandés")
Prix = InputBox("Prix unitaire")
If (Quantité * Prix) < 2000 Then
Remise = Prix * Quantité * Taux1
Else
Remise = Prix * Quantité * Taux2
End If
Montant = ((Prix * Quantité) - Remise) * (1 + TVA)
MsgBox ("Le montant dû est de " & Montant & " € ")
MsgBox ("Le montant HT de la remise est de " & Remise & " € ")
End Sub
Traduction Algo 10
Sub Algorithme10()
Dim Prix As Integer
Dim Quant As Integer
Dim Montant As Single
Dim N As Integer
Dim I As Integer
Const TVA = 0.196
Fayçal Goudjil
lOMoARcPSD|32927822
N = InputBox("Quel est le nombre de traitement à réaliser ?")
For I = 1 To N
Quant = InputBox("Nombre de produits commandés")
Prix = InputBox("Prix unitaire")
Montant = (Prix * (1 + TVA) * Quant)
MsgBox ("Le montant dû est de " & Montant & " TTC € ")
Next
End Sub
Fayçal Goudjil