Une proposition de résolution du pb1 AEP PACD VB Pb11
PB1 Construction de la liste des établissements publics du second degré de l’académie de Toulouse (À partir du site national) AEP PACD VB Pb12
Document source AEP PACD VB Pb13 Document à obtenir
AEP PACD 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
AEP PACD 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
AEP PACD 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
AEP PACD 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"
AEP PACD 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
AEP PACD 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
AEP PACD 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
AEP PACD 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
AEP PACD Pb1 12 mm Merci d’avoir fait chauffer nos neurones & BONNE RETRAITE A VOUS !!!!