La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Une proposition de résolution du pb1 AEP PACD1 2014-2015 VB Pb11.

Présentations similaires


Présentation au sujet: "Une proposition de résolution du pb1 AEP PACD1 2014-2015 VB Pb11."— Transcription de la présentation:

1 Une proposition de résolution du pb1 AEP PACD1 2014-2015 VB Pb11

2 PB1 Construction de la liste des établissements publics du second degré de l’académie de Toulouse (À partir du site national) AEP PACD1 2014-2015 VB Pb12

3 Document source AEP PACD1 2014-2015 VB Pb13 Document à obtenir

4 AEP PACD1 2014-2015 VB Pb14 Lecture du document d’initiation à Visual Basic Relecture de la consigne Etude du problème Réflexion sur l’organisation des tâches du programme Elaboration des boucles itératives et des conditions en utilisant le langage ordinaire Codage en langage informatique Tests et améliorations au vu des résultats

5 AEP PACD1 2014-2015 VB Pb15 Supprimer la ligne Zone A Identifier la ligne contenant le département et l’extraire avec le nom de la ville Extraire le type d ’établissement et son nom

6 AEP PACD1 2014-2015 VB Pb16 Boucle pour la suppression de la « zone A académie de Toulouse » On relève la valeur de la première cellule de la colonne 1 et on y recherche le mot « zone A ». Tant que l’intérieur de la cellule n’est pas vide, la variable a prend la valeur de la cellule. La variable b cherche la position de « zone A ». Sub supZoneA() ligne = 1 While Cells(ligne, 1).Value <> "" a = Cells(ligne, 1).Value b = InStr(1, a, "Zone A") ligne = ligne + 1 Si « zone A » est reconnue, la ligne est supprimée puis on passe à la suivante sinon on passe directement à la ligne suivante. Si b est positif, alors on efface la ligne « zone A académie de Toulouse….. ». If b > 0 Then c = ligne d = c & ":" & c Rows(d).Delete End If ligne = ligne + 1 Wend End Sub

7 AEP PACD1 2014-2015 Pb1 7 Boucle de répartition dans les différentes colonnes On répertorie les différents départements présents: soit 8 départements. On définit la variable Dep comme étant une chaîne de caractères puis on attribue à chaque variable un nom de département Sub tri() Dim Dep(8) As String Dep(1) = "Haute-Garonne" Dep(2) = "Aveyron" Dep(3) = "Hautes-Pyrénées" Dep(4) = "Tarn (81)" Dep(5) = "Gers" Dep(6) = "Tarn-et-Garonne" Dep(7) = "Lot" Dep(8) = "Ariège" On répertorie les différents types d’établissements: soit 30 types. On définit la variable Etab comme étant une chaîne de caractères puis on attribue à chaque variable un type d’établissement, Dim Etab(30) As String Etab(30) = "Collège" Etab(16) = "Lycée polyvalent" ……………………… Etab(26) = "LEGTPA" Etab(25) = "Lycée"

8 AEP PACD1 2014-2015 Pb1 8 Boucle d’identification du département et de la ville On recherche la ligne du département et de la ville. Tant que l’intérieur de la cellule observée est non vide, la variable b cherche la position du département dans la cellule. ligne = 1: lugne = 1 While Cells(ligne, 1).Value <> "" a = Cells(ligne, 1).Value indicedep = 0 For i = 1 To 8 b = InStr(1, a, Dep(i)) On extrait le nom du département puis le nom de la ville Si b > 0 alors le département est présent et la variable départe prend le nom du département. Avec la fonction Mid, on extrait le nom de la ville. Les variables d et e permettent de repérer les positions des virgules. If b > 0 Then départe = Dep(i) d = InStr(1, a, ",") e = InStr(d + 1, a, ",") f = d + 3 g = e - d - 3 ville = Mid(a, f, g) indicedep = 1 i = 9 End If

9 AEP PACD1 2014-2015 Pb1 9 Identification du type d’établissement. Si on n’est pas dans la ligne du département, alors c’est que l’on est sur une ligne contenant le type d’établissement et son nom c > 0 renvoi la position du nom de l’établissement, et la variable Etablissement prend le type de l’établissement. If indicedep = 0 Then For j = 1 To 30 c = InStr(1, a, Etab(j)) If c > 0 Then Etablissement = Etab(j) j = 100 End If Boucle d’identification du type d’établissement

10 AEP PACD1 2014-2015 Pb1 10 Extraire le nom de l’établissement. On enregistre la longueur du type d’établissement dans la variable h. i est le nombre de caractères de a. l correspond au nombre de caractères du nom d’établissement. Mid permet d’extraire le nom de l’établissement et de le stocker dans nometab. Next h = Len(Etablissement) i = Len(a) k = h + 1 l = i - h nometab = Mid(a, k, l) Boucle d’identification du nom d’établissement

11 AEP PACD1 2014-2015 Pb1 11 Affichage des résultats dans un tableau Centraliser les informations recueillies dans la feuille de résultats. Ex : dans la colonne 1 de la feuille résultats, on retrouve le département. Et ainsi de suite … Sheets("RESULTAT").Cells(lugne, 1).Value = départe Sheets("RESULTAT").Cells(lugne, 2).Value = ville Sheets("RESULTAT").Cells(lugne, 3).Value = Etablissement Sheets("RESULTAT").Cells(lugne, 4).Value = nometab lugne = lugne + 1 End If ligne = ligne + 1 Wend Afficher la feuille de résultats. On active la feuille de résultats. Sheets("RESULTAT").Activate End Sub

12 AEP PACD1 2014-2015 Pb1 12 mm Merci d’avoir fait chauffer nos neurones & BONNE RETRAITE A VOUS !!!!


Télécharger ppt "Une proposition de résolution du pb1 AEP PACD1 2014-2015 VB Pb11."

Présentations similaires


Annonces Google