Arbre Programmatique et programmation VBA V.Vanneste 1/25 SOMMAIRE 1. Analyse d

Arbre Programmatique et programmation VBA V.Vanneste 1/25 SOMMAIRE 1. Analyse d’un problème............................................................................................................2 2. Arbre programmatique.............................................................................................................2 3. Représentation d'une fonction..................................................................................................3 4. VBA .........................................................................................................................................4 5. Notion de variables ..................................................................................................................5 6. String........................................................................................................................................7 7. Alternative................................................................................................................................8 8. Booléen ..................................................................................................................................12 9. Sous routine ...........................................................................................................................15 10. Itérative ..............................................................................................................................16 11. Tableaux.............................................................................................................................20 12. Pour element dans liste ......................................................................................................23 13. Chaîne de caractères...........................................................................................................24 Arbre Programmatique et programmation VBA V.Vanneste 2/25 ARBRE PROGRAMMATIQUE ET PROGRAMMATION VBA 1. ANALYSE D’UN PROBLEME L’analyse d’un problème complexe consiste en sa décomposition en une suite de problèmes indépendants moins complexes que l’on pourra décomposer à leur tour. Exemple : cuire un œuf à la coque : ♦ mettre l’œuf dans l’eau bouillante : • prendre une casserole • mettre de l’eau dans la casserole : - prendre une casserole - mettre la casserole sous un robinet - ouvrir le robinet - fermer le robinet lorsque la casserole est pleine • faire chauffer l’eau • mettre l’œuf dans l’eau ♦ attendre trois minutes : • prendre un sablier • attendre qu’il se vide ♦ retirer l’œuf Nous verrons que tout problème peut se résoudre en une décomposition de séquences, de conditions et d’itérations. Séquence : suite d’actions réalisées les unes après les autres. Condition : réalisation d’une action ou d’une autre selon une condition. Itération : exécution des mêmes actions autant de fois que nécessaire. 2. ARBRE PROGRAMMATIQUE Afin de rendre la représentation et la compréhension, d’un algorithme, les plus simples et les plus rapides possibles, différents outils ont été développés. L’arbre programmatique est un de ces outils. Il consiste en la représentation de l’algorithme à l’aide de symboles graphiques. L’un des avantages de cet outil est sa simplicité dans sa transformation en langage de programmation. Arbre Programmatique et programmation VBA V.Vanneste 3/25 3. REPRESENTATION D'UNE FONCTION Le tableur Excel comporte plusieurs fonctions prédéfinies. Pour utiliser une de ces fonctions il suffit d'écrire : =cos(10) et on obtient un résultat. Cos étant le nom de la fonction, 10 la valeur du paramètre. Dans la suite nous montrons comment on représente une telle fonction sous forme d'arbre programmatique. 3.1. Exemple Retourne le prix TTC à partir du prix hors taxe Ce qui donne : PTTC(10) = 11,96 PTTC(20) = 23,92 PHT PTTC PTTC  PHT * (1+19,6/100) Paramètres Nom de la fonction Variables locales Nom de la fonction  valeur à retourner Arbre Programmatique et programmation VBA V.Vanneste 4/25 3.2. Application 1) Retourne le périmètre d’un cercle connaissant son rayon. (PI = 3,14) 2) Retourne la surface d’un cercle connaissant son diamètre. 3) Retourne une vitesse connaissant le temps et la distance. 4. VBA Pour valider nos algorithmes, nous utiliserons le langage Visual Basic dans le logiciel EXCEL. 4.1. Editeur 4.2. Fonction Function nom_fonction(paramètres) nom_fonction = valeur retournée End Function Il est conseillé de faire précéder le nom de ses fonctions par un signe distinctif et personnel. Afin de ne pas retomber sur des noms existants. Par exemple de faire précéder ses fonctions par ses initiales. 4.3. Exemple Function vv_pttc(pht) vv_pttc = pht * (1 + 19.6 / 100) End Function Nous venons de créer une nouvelle fonction VV_PTTC qui est désormais accessible dans excel. Pour tester notre fonction, il suffit de se positionner dans un feuille de notre classeur et de taper dans une cellule =VV_PTTC(10) et la cellule affiche le résultat du calcul. 4.4. Application 1) Retourne le périmètre d’un cercle connaissant son rayon. (PI = 3,14) 2) Retourne la surface d’un cercle connaissant son diamètre. 3) Retourne une vitesse connaissant le temps et la distance. Arbre Programmatique et programmation VBA V.Vanneste 5/25 5. NOTION DE VARIABLES Pour résoudre un problème il nous faut conserver des informations (Age, nom, nombre…). Ces données sont appelées variables. Un peu comme une lettre postal, une variable englobe plusieurs informations : son adresse &1000 &3000 son nom i c Variable : son contenu ex : variable i : 5 variable c : ‘A’ son type entier caractère 5.1. L’adresse L’adresse correspond à l’emplacement physique de la variable dans la mémoire de l’ordinateur (adresse de la personne à qui l'on écrit) 5.2. Le nom Plutôt que d’appeler une variable par son adresse, on lui donne un nom afin de simplifier son utilisation (nom du destinataire). 5.3. Le contenu Le contenu d’une variable peut être un nombre, un caractère, un mot, un tableau…(lettre se trouvant dans l'enveloppe) 5.4. Le type Avant d’utiliser une variable, on doit définir qu’elle genre de contenu elle pourra traiter des entiers, des réels, des caractères…(la lettre peut être une feuille, une photo, une cassette..). 5.5. Affectation (   ) A 6 signifie que la variable de nom A reçoit le contenu 6. Arbre Programmatique et programmation VBA V.Vanneste 6/25 5.6. Exemple 5.6.1. L'arbre L'arbre se lit de la gauche vers la droite. 5.6.2. Le VBA Function vv_pttc(pht As Single) As Single Dim TVA = 19,6 vv_pttc = pht * (1 + TVA / 100) End Function 5.7. Application 1) Retourne le périmètre d’un cercle connaissant son rayon. (PI = 3,14) 2) Retourne la surface d’un cercle connaissant son diamètre. 3) Retourne une vitesse connaissant le temps et la distance. PHT : réel PTTC : réel TVA : réel PTTC  PHT * (1+TVA/100) TVA  19,6 On définie que le paramètre PHT doit être un réel La fonction PTTC doit retourner un réel On a besoin d'une variable TVA qui contiendra un réel Arbre Programmatique et programmation VBA V.Vanneste 7/25 6. STRING Parmi les types de variables, il existe la chaîne de caractères (string). Il est possible de combiner différentes variables afin d'obtenir un affichage différent en fonction des cas. A  "bonjour" a reçoit le mot "bonjour" b  "tout le monde" b reçoit "tout le monde" c  a & b c reçoit "bonjour tout le monde" c  a & " " & b c reçoit "bonjour tout le monde" a  "au revoir" a reçoit "au revoir" d  a & " " & b d reçoit "au revoir tout le monde" le fait de combiner différentes chaînes de caractères, s'appelle la concaténation. Le & est le symbole de concaténation en VBA. 6.1. Application 1) bonjour() Retourne le mot « bonjour ». 2) perimetre1(rayon) Connaissant le rayon d’un cercle. Retourne « le périmètre du cercle est : ». 3) perimetre2(rayon) Retourne « le périmètre d’un cercle de rayon R cm est de P cm ». 4) celsius(T) Retourne en degrés Celsius une température T donnée en degrés Fahrenheit 9 5 ) 32 ( ) ( × − = T T celsius 5) conversion_heure(NbHeures, NbMinutes, NbSecondes) Retourne la durée en secondes. 6) moyenne_etudiant(Français, Math, Anglais) Retourne la moyenne des notes d'un étudiant. 7) moyenne_etudiant2(Fran, CF,.Math, CM, Angl, CA) Retourne la moyenne des notes d'un étudiant avec des coefficients. Arbre Programmatique et programmation VBA V.Vanneste 8/25 7. ALTERNATIVE Dans certain cas, le résultat retourné d'un problème résulte du choix entre deux solutions. C'est ce que l'on appelle une alternative. Ceci est matérialisé par la fonction SI. 7.1. SI simple La fonction consiste à réaliser Action 1 si la condition est vraie sinon elle réalise Action 2. Paramètres Nom de la fonction Variables locales Action 1 Condition SI Action 2 Arbre Programmatique et programmation VBA V.Vanneste 9/25 7.1.1. Exemple En fonction du prénom et du sexe d’une personne. Retourne « bonjour cher ou chère prénom » 7.1.1.1. L'arbre 7.1.1.2. Le VBA Function vv_bonjour_si(prenom As String, sexe As String) As String If sexe = "m" Then Bonjour_si = "bonjour cher "& prenom Else Bonjour_si = "bonjour chère "& prenom End If End Function 7.1.2. Application 1) code_si(code) En fonction d'un code, si « 123 » Retourne bon code ou mauvais code code_si(456)  mauvais code 2) remise_si(montant) Retourne un prix avec une remise de 10% si supérieur à 1000€. remise_si(2000)  1800 3) estimation_de_prix(Prix1, Prix2) Calcule le montant Prix1 + Prix2 Retourne « coût élevé » ou « Bon marché » suivant que le montant dépasse ou non 15€ 4) absolue(nombre) Retourne la valeur absolue d’un nombre absolue(-15)  15 prenom, sexe: string bonjour_si : string bonjour_si  "bonjour cher "& prenom sexe = "m" SI bonjour_si  "bonjour chère "& prenom Arbre Programmatique et programmation VBA V.Vanneste 10/25 7.2. SI imbriqués Lorsque la solution d'un problème se trouve être le choix entre plusieurs solutions, il faut soit juxtaposer les SI ou les imbriquer. Dans la première solution chaque SI sera évalué, dans le second cas dès qu'un SI sera validé les suivants ne seront pas visités. 7.2.1. Exemple En fonction du sexe, retourne "bonjour cher monsieur"ou "madame" ou "mademoiselle" 7.2.1.1. L'arbre 7.2.1.2. Le VBA Function vv_bonjour_si_2(sexe As String) As String If sexe = "m" Then Bonjour_si_2 = "bonjour monsieur" Else If sexe = "f" Then Bonjour_si_2 = "bonjour madame" Else Bonjour_si_2 = "bonjour mademoiselle" End If End If End Function sexe: string bonjour_si_2 : string Bonjour_si_2  "bonjour monsieur" sexe = "m" SI Bonjour_si_2  "bonjour madame" sexe = "f" SI Bonjour_si_2  "bonjour mademoiselle" Arbre Programmatique et programmation VBA V.Vanneste 11/25 7.2.2. Application 1) remise2_si(montant) Retourne le prix remisé : >1000 10%, >1500 uploads/Finance/ cours-programmation-excel-vb.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 22, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.0887MB