Rapport de stage effectué à l'école supérieure de formation des cadres( Télécharger le fichier original )par Verlain Lelo Nzita Institut supérieur de statistique de Kinshasa - Graduat 2010 |
7.4. SolutionEtape 1 : Création de l'interface Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Page 23 Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Etape 2 : Ecriture du code Feuille 1 Déclaration des variables globales Aucune variable globale n'est utilisée dans cette feuille. Bouton de commande « GO » Private Sub Command1_Click ( ) MsgBox " Bienvenue dans Microsoft Visual Basic ", vbInformation, "Accueil" End Sub Bouton de commande « APPEL » Private Sub Command2_Click ( ) Call appel End Sub Cette procédure appelle une procédure « appel » dont la définition est donnée cidessous. Bouton de commande « Saisie » Private Sub Command3_Click ( ) Dim NomEtudiant As String Dim CoteEtudiant As Single NomEtudiant = InputBox ("Quel est votre nom ?") Do CoteEtudiant = InputBox ("Introduisez votre cote SVP") If CoteEtudiant < 0 Or CoteEtudiant > 20 Then MsgBox "Valeur non autorisée : CoteEtudiant = " & CoteEtudiant, vbCritical, "Erreur!" End If Loop While CoteEtudiant < 0 Or CoteEtudiant > 20 Label1.FontSize = 10 Label1.ForeColor = &HFF0000 Label1.Caption = "L'étudiant " & NomEtudiant & " a obtenu " & CoteEtudiant & "/20" End Sub Cette procédure demande à l'utilisateur de saisir le nom et la côte d'un étudiant. Un message d'erreur est retourné lorsque la valeur saisie pour la côte est négative ou supérieure au maximum. Une boucle « Do ... Loop » permet de revenir à la saisie de la côte tant que l'erreur persiste. Bouton de commande « Charger Feuille 2 » Private Sub Command4_Click ( ) Form2.Top = 0 Form2.Left = 0 Form2.Show Form1.Hide End Sub Bouton de commande « Quitter » Private Sub Command5_Click ( ) End End Sub Procédure « APPEL » Sub appel ( ) Label1.Caption = "" End Sub Feuille 2 Déclaration des variables globales Dim Nombre1 As Single Dim Nombre2 As Single Dim Saisie As Boolean Ici, nous déclarons ces trois variables au niveau global, c'est-à-dire dans la section «Général» pour les rendre accessibles à tous les objets de la feuille 1. Notez que la variable « Saisie » aurait bien pu
être déclarée de type Integer, mais Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Page 25 Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Page 27 Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Rapport de stage effectue à L'École Supérieure de Formation des Cadres en sigle « ESFORCA » du 08 avril au 28 juin ; Tél. : +243816908299 ; +243897814690 ; E-mail : verlain8@hotmail.fr Verlain LELO NZITA 2010 Page 29 elle ne doit prendre que deux valeurs : False qui équivaut à 0 pour représenter l'état « non activé » et True qui équivaut à 1 pour représenter l'état « activé ». Procedure Form Private Sub Form _Load ( ) Saisie = False End Sub Nous plaçons dans cette procédure, l'instruction d'initialisation de la variable « Saisie » avec la valeur « False ». C'est le premier événement qui se produit lorsque la feuille 1 est chargée. Cela signifie qu'au démarrage de l'exécution, lorsqu'aucune valeur n'a encore été saisie dans les variables qui doivent être permutées, la variable de contrôle « Saisie » est désactivée. Cette précaution permet de générer un message d'erreur lorsqu'on appelle la procédure « echange » alors que les valeurs des variables à permuter n'ont pas encore été saisies. Bouton de commande « Saisie » Private Sub Command1_Click ( ) Label1.Caption = "" Label2.Caption = "" Nombre1 = InputBox ("Le premier nombre") Label1.Caption = "Le premier nombre : " & Nombre1 Nombre2 = InputBox ("Le second nombre") Label2.Caption = "Le second nombre : " & Nombre2 Saisie = True End Sub Les contenus des Labels 1 et 2 sont effaces et, lors de la saisie des valeurs des variables Nombre1 et Nombre2, chacune des deux est affichée dans un label. Ensuite, la variable de contrôle « Saisie » est activée. Bouton de commande « Permuter » Private Sub Command2_Click ( ) If Saisie = False Then Label1.Caption = "" Label2.Caption = "" MsgBox "Vous devez saisir des valeurs pour Nombre1 et Nombre2", vbCritical, "Erreur !" Else echange Nombre1, Nombre2 End If Saisie = False End Sub Notez qu'au sein de cette procédure, apparaît l'appel de la procédure « echange » avec comme paramètres effectifs, les variables globales Nombre1 et Nombre2. La procédure « Permuter » ne peut s'exécuter que si la variable de contrôle « Saisie » est activée. Dans le cas contraire, il s'affiche un message d'erreur dans un MsgBox. Bouton de commande « Permuter2 » Private Sub Command3_Click ( ) If Saisie = False Then Label1.Caption = "" Label2.Caption = "" MsgBox "Vous devez saisir des valeurs pour Nombre1 et Nombre2", vbCritical, "Erreur !" Else Echange2 Nombre1, Nombre2 End If Saisie = False End Sub Cette procédure est identique à la précédente, excepté qu'elle appelle une procédure « echange2 ». Bouton de commande « Retour » Private Sub Command4_Click ( ) Form1.Label1.Caption = "Retour à la feuille 1 " Form1.Show Form2.Hide End Sub Cette procédure a été introduite pour permettre de revenir à l'interface d'accueil qui est la feuille 1. Les instructions « Form1.Show » et « Form2.Hide » permettent respectivement d'afficher la feuille 1 et de fermer la feuille 2. Pour faire apparaître une feuille Form1, la procédure normale consiste à écrire l'instruction Load Form1 Suivie de Form1.Show. La première charge la feuille en mémoire et la seconde l'affiche. En cas d'omission de la première instruction, VB charge automatiquement la feuille en voyant l'instruction « Form1.Show ». Notez également la présence de l'instruction Form1.Label1.Caption = "Retour à la feuille 1 " Cette notation est utilisée pour accéder à un objet contenu dans une feuille à partir d'une procédure se trouvant dans une autre feuille. Procédure « echange » Sub echange (a As Single, b As Single) Dim Sauvegarde As Single Label1.Caption = "Avant permutation : " & a & " et " & b Sauvegarde = a a = b b = Sauvegarde Label2.Caption = "Après permutation : " & a & " et " & b End Sub Les procédures personnalisées sont crées dans la section «Général», après la dernière déclaration. Pour ce faire, écrivez le mot clé Sub suivi du nom de votre procédure et des parenthèses vides ou contenant les noms des éventuels paramètres formels suivis de leurs types respectifs. Appuyez sur la touche « Entrer » de votre clavier. La procédure est créée automatiquement et son nom est ajouté à la liste déroulante située à droite, dans la feuille de code. Vous pouvez alors insérer vos lignes de code. Procédure « echange2 » Sub echange2 (ByVal x As Single, ByVal y As Single) Label1.Caption = "Avant permutation : " & x & " et " & y tampon = x x = y y = tampon Label2.Caption = "Après permutation : " & x & " et " & y End Sub Cette procédure se distingue de la précédente par le fait que les paramètres lui sont passés par valeur et non par référence. |
|