1 Langage de programmation Visual Basic pour Applications (VBA ) Responsable: D
1 Langage de programmation Visual Basic pour Applications (VBA ) Responsable: Dr.Fadoua BOUAFIF Filière: Mastère Profestionel Ingénierie Economique et Financière langage de programmation VBA F.BOUAFIF 2 Chapitre 2 langage de programmation VBA F.BOUAFIF Les structures de Contrôles 3 langage de programmation VBA F.BOUAFIF Plan du chapitre 1. Structures conditionnelles If…then…elseif…else…end if Select … case 2. Structures répétitives While…wend Do While…loop Do…loop while Do Until…loop Do…loop Until For…step…Next For Each… IN…Next 4 Les structures condionnelles langage de programmation VBA F.BOUAFIF 5 langage de programmation VBA F.BOUAFIF Syntaxe sur une seule ligne If condition Then <instructions1> Else <instructions2> End If Exemple : If Moyenne >=10 Then Résultat = "Admis" End If If … Then … Elseif … Else…End If If Moyenne >=10 Then Résultat = "Admis" Else Résultat = "Ajourné" End If 6 ElseIf permet d'ajouter plusieurs conditions à la suite : Syntaxe : If condition1 Then <instructions1> ElseIf condition 2 then <instructions2> …… …… Else <instructionsn> End If Exemple : If Moy >=10 and moy<12 Then Résultat = " Admis passable " ElseIf Moy >= 12 and moy<15 Then Résultat = "Admis assez_bien" ElseIf Moy >= 15 and moy<16 Then Résultat = "Admis bien" ElseIf Moy >= 16 Then Résultat = "Admis très_bien" Else Résultat = "Etudiant Ajourné" End If langage de programmation VBA F.BOUAFIF If … Then … Elseif … Else…End If 7 langage de programmation VBA F.BOUAFIF Lorsque l’on aura besoin de faire des tests multiples sur une variable, on utilisera select …case… Syntaxe Select Case Variable Case valeur 1: <instructions 1> Case valeur 2: <instructions 2> ………. Case Else: <instructions> ‘facultative End Select Select…..case…. 8 langage de programmation VBA F.BOUAFIF Exemple : Afficher le type d’un caractère donné selon son code ASCII ********************************************************************* Public Sub testSelest() Dim code as integer code=InputBox (‘’tapez le code ASCII du caractère ‘’) Select Case code Case 65, 69, 73, 79, 85 MsgBox(" C’est une voyelle ") ‘ affiche résultat Case 66 To 90 MsgBox(" C’est une consonne ") ‘ affiche résultat Case Else MsgBox(" Ce n’est pas une lettre ") ‘ affiche résultat End select End Sub Select…..case…. 9 Les structures répétitives langage de programmation VBA F.BOUAFIF 10 While condition <instructions> Wend La condition est évaluée au début du traitement. Si elle est vraie, les instructions sont exécutées. Ensuite la condition est réévaluée, et ainsi de suite. Lorsque l’on voudra répéter une portion de programme tant qu’une condition est vrai, on utilisera une boucle While…Wend Une condition est une comparaison entre deux valeurs à travers un opérateur de comparaison Syntaxe Sub TestWhile() Dim x As integer x= 50 while ( x >=10) MsgBox(" valeur de x=" & x) x = x-10 Wend End Sub Exemple Les Boucles: While…Wend langage de programmation VBA F.BOUAFIF 11 Do while condition de continuité <instructions> Loop On utilisera une boucle Do while . . .Loop lorsque l’on veut que la boucle continue tant que la condition est vraie. Syntaxe Public Sub TestDoWhileLoop() Dim x As integer x = 50 Do while x>=10 MsgBox(" valeur de x=" & x) x = x -10 Loop End Sub Exemple Les Boucles: Do While…Loop langage de programmation VBA F.BOUAFIF 12 Do instructions Loop While (condition de continuité) On utilisera une boucle Do . . .Loop While lorsque l’on veut que la boucle recommence tant que que la condition est vraie. Syntaxe Exemple Les Boucles: Do…LoopWhile F.BOUAFIF langage de programmation VBA Sub TestDoLoopWhile() Dim x As integer x = 50 Do MsgBox(" valeur de x=" & x) x = x-10 Loop while x1 > 10 End Sub 13 Do Until (condition d’arrêt) <instructions> Loop On utilisera une boucle Do Until . . .Loop lorsque l’on veut que la boucle continue jusqu’à ce que la condition soit vraie. Syntaxe Sub TestDoLoopUntil() Dim x As integer x= 1 Do Until x<10 MsgBox(" valeur de x=" & x) x = x - 1 Loop End Sub Exemple Les Boucles: Do Until…Loop langage de programmation VBA F.BOUAFIF 14 Do <instructions> Loop Until (condition d’arrêt) On utilisera une boucle Do . . .Loop Until lorsque l’on veut que la boucle recommence jusqu’à ce que la condition soit vraie. Syntaxe Sub TestDoLoopUntil() Dim x As integer x = 1 Do MsgBox(" valeur de x=" & x) x = x-10 Loop Until x< 10 End Sub Exemple Les Boucles: Do… Loop Until langage de programmation VBA F.BOUAFIF 15 Exercice d’application Ecrire un programme VBA qui permet: Saisir un nombre entier positif N Calculer et afficher le factoriel de N en utilisant le boucle While…Wend langage de programmation VBA F.BOUAFIF Solution: 1. Saisir un entier N 2. Tester si N est positif 3. Calculer N! : N!= N*(N-1)*(N-2)*…1 4. Afficher le résultat 16 langage de programmation VBA F.BOUAFIF 17 langage de programmation VBA F.BOUAFIF Utilisée pour répéter une action selon un nombre d'itérations déterminé. La boucle sera parcourue le nombre de fois indiqué avec le pas spécifié. Syntaxe For variable = valeur1 To valeur2 Step <pas> <instructions> Next variable Exemple: Sub TestForNext1() Dim I As integer For I = 1 to 10 MsgBox(" valeur de i=" & i) Next I End Sub Les Boucles: For….. Step… Next Sub TestForNext2() Dim I As integer For I = 2 to 10 step 2 MsgBox(" valeur de i=" & i) Next I End Sub 18 F.BOUAFIF Est une variante de l'instruction For Step Next. Permet de réaliser une itération en parcourant tous les objets contenus dans une collection. Syntaxe : For Each <objet> In <collection> <instructions> Next <object> Les Boucles: For Each…In… Next langage de programmation VBA 19 F.BOUAFIF Exemple : Le code suivant permet de renommer toutes les feuilles de calcul du classeur actif : Sub TestForEach() Dim i As Integer Dim feuille As WorkSheet i = 0 For Each feuille In ActiveWorkbook.Sheets i = i + 1 'Cstr (i) permet de convertir l'entier i en une chaîne de caractères feuille.Name = "Compte rendu Client n°" + CStr(i) Next feuille End Sub Les Boucles: For Each…In… Next langage de programmation VBA 20 Arrêt du programme F.BOUAFIF L’instruction Exit L’instruction Exit permet de quitter un bloc Do...Loop, For...Next, Function, ou Sub. Syntaxe : Exit Do; Exit For; Exit Function; Exit Sub Exemple: La boucle suivante s’arrête lorsque la réponse rep est n ou N : Do Rep = InputBox("Voulez-vous continuer ? (O/N)") If LCase(rep) = "n" Then Exit Do Loop Rmq: La fonction LCase convertit tous les caractères en minuscules langage de programmation VBA 21 Applications EXERCICE 1 1. Ecrire un programme VBA permettant la saisie et l’affichage d’une note. 2. Modifier le programme pour qu’il affiche le message ”Ajourné” si la note est en dessous de la moyenne. (moy=10) 3. Ajouter au programme précédent une vérification de la note (nombre compris entre 0 et 20). Une note incorrecte ne doit pas être affichée (message ”Erreur de saisie”). langage de programmation VBA F.BOUAFIF 22 Applications EXERCICE 2 1. Ecrire un programme permettant la saisie de deux notes puis affiche la plus petite des deux. 2. Même question avec cinq notes. langage de programmation VBA F.BOUAFIF 23 Applications EXERCICE 3 1. Ecrire un programme qui permet de saisir n notes (n est un nombre fixe donné). 2. Ajouter au programme précédent le calcul de la moyenne des notes. 3. Même exercice, mais ne pas prendre en compte les notes incorrectes dans le calcul. 4. Même exercice, mais on ne connait pas d’avance le nombre n, le progrmme continue tant qu’une note incorrecte n’a pas été saisie. langage de programmation VBA F.BOUAFIF uploads/Ingenierie_Lourd/ chapitre-2-les-structures-de-controle.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 25, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.4199MB