Exercice 5.2 (sous forme de programme)
Programmation en Visual Basic sous Word. Il suffit d'utiliser l'outil MACRO de
Word qui utilise la programmation en VB pour réaliser des programmes.
part of the document
Programmation en Visual Basic sous Word
Il suffit dutiliser loutil MACRO de Word qui utilise la programmation en VB pour réaliser des programmes.
Nous allons afficher une petite boîte de dialogue comme ceci :
Ouvrir Word, (puis nouveau document, sil ny a pas de page)
Faites Outils/Macros/ Visual Basic Editor
Dans la partie de gauche, vous devriez voir ceci :
INCLUDEPICTURE "../../Tset/algorithme/Votre%20toute%20première%20macroword_fichiers/premieremacroword01.gif" \* MERGEFORMAT \d"Si ce n'est pas le cas, faites Affichage/Explorateur de projets
Cliquez avec le bouton droit sur Project (Document1), et choisissez Insertion/Module.
Vous avez maintenant sur toute la partie de droite un éditeur de texte (une page blanche dans lquelle vous pouvez écrire). Word à également créé dans la partie de gauche Modules et Module1
Ecrivez dans cette partie de droite:Sub AfficheMessage
Appuyez sur ENTER. Normalement, Word a complété votre texte comme ceci :Sub AfficheMessage() End Sub
Complétez le code en écrivant vous même
Sub AfficheMessage() MsgBox "Ca Marche"
End Sub
La macro est maintenant écrite. Cliquez quelque part entre Sub AfficheMessage et End Sub, et appuyez sur la touche F5. Le message devrait apparaître, comme ceci :
INCLUDEPICTURE "../../Tset/algorithme/Votre%20toute%20première%20macroword_fichiers/premieremacroword02.gif" \* MERGEFORMAT \d"
Et voilà... vous avez écrit vous même votre première macro, et exécuté ! Félicitations ! Vous avez donc appris plusieurs choses :
INCLUDEPICTURE "../../Tset/algorithme/Votre%20toute%20première%20macroword_fichiers/motcleculture.gif" \* MERGEFORMAT \d"
MsgBox permet d'afficher des messages
Le texte affiché avec MsgBox est écrit entre guillemets
Les macros commencent par Sub QuelqueChose() et se terminent par End Sub
On peut exécuter les macros directement depuis l'environnement VBA avec la touche F5
Exercice 5.2 (sous forme de programme)
- on demande un nombre compris entre 10 et 20, jusquà ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.
Programme à écrire :
Sub AfficheMessage()
Dim valeur As Byte
MsgBox " exercice 5.2 "
Do Until (valeur > 10) And (valeur < 20)
valeur = InputBox(" entrer un nombre compris entre 10 et 20")
If valeur < 10 Then MsgBox "entrer un nombre plus grand que 10"
If valeur > 20 Then MsgBox "entrer un nombre plus petit que 20"
Loop
MsgBox " la valeur entrée est :" & valeur
End Sub
EMBED Word.Picture.8
Voici les fenêtres qui devront apparaître.
Exercice 5.3
Ecrire le programme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) :Table de 7 :
7 x 1 = 7
7 x 2 = 147 x 3 = 21
7 x 10 = 70
Exercice 5.4
Ecrire un programme qui demande un nombre de départ, et qui calcule sa factorielle et qui laffiche.NB : la factorielle de 8, notée 8 ! vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8
Correction 5.3
Sub affich()
Dim x As Integer
valeur = InputBox("entrez un nombre")
For x = 1 To 10
MsgBox valeur & " x " & x & " = " & valeur * x
Next x
End Sub
Correction 5.4
Sub affich()
Dim resu As Double
Dim x As Integer
resu = 1 ' initialisation du résultat
valeur = InputBox("entrez un nombre")
For x = 1 To valeur
resu = resu * x
Next x
MsgBox " le factoriel de " & valeur & " = " & resu
End Sub
Remarque : Il faut absolument initialiser la variable résultat à 1
Le résultat étant vite très grand il faut une variable de type double voir plus
FILENAME VB sous word macro 1.doc Page PAGE 3 / NUMPAGES 3 DATE \@ "dd/MM/yy" 17/10/04