EXCEL / VBA

Document Sample
EXCEL / VBA Powered By Docstoc
					EXCEL / VBA
TP 8 : parcours de liste
    et cas pratique
La boucle Do … Loop
Une généralisation de la boucle FOR.
On boucle, et on indique juste la condition
 d’arrêt.
    Do                       Do
     (Instructions)           (Instructions)
    Loop Until (condition)   Loop While (condition)

   Répète les instructions jusqu’à ce que (tant
   que) la condition est vrai
Parcours de liste
Une variable est utilisée pour indiquer la
 ligne de travail. On descend jusqu’à arriver
 à la fin de la liste / à la ligne désirée, on
 peut réaliser un traitement sur toutes (ou
 certaines) lignes parcourues.

Ex :
- mettre en gras tous les noms d’une liste
Exemple : feuille étudiants.xls
       A              B      C           D
1    Code        Nom       Prénom     Note
2    2001002 Ernjaz       Maude     10
3    2001003 Faimal       Emma      12
4     2001004 Faire       Michel    14
5     2001005 Hornot-Toby Tobbie    8
6     2001006   Huilda    Rachid    13
7     2001007   Illiait   Thérèse   12
8     2001008   Iboura    Habib     11
9     2001009   Imal      Anne      7
Parcourir toute la liste
Sub parcours()
 y=2                                Ligne de départ
 Do
  (traitement sur la ligne ‘y’)
                                    On passe à la ligne
  y=y+1                               suivante
 Loop until cells(y,1) = “”
                                    On s’arrête lorsqu’on
 (après la parcours de liste, y       arrive sur une ligne
  “pointe” vers la première ligne     vide
  blanche)
End sub
Parcours de liste : ajouter en fin de liste
Sub parcours()
 y=1
 Do
   y=y+1
 Loop until cells(y,1) = “”
 ‘on est à la fin, on peut ajouter un étudiant
 Cells(y,1) = “20012003”
 cells(y,2) = “Dupont”
 cells(y,3) = “Jean”
 cells(y,4) = “10”
End sub
Parcours de liste : mettre en rouge les
noms des mauvais étudiants
Sub mise_en_rouge()
 y=1
 Do
  if (cells(y,4) < 10) then
    cells(y,2).font.colorIndex = 3
  end if
  y=y+1
 Loop until cells(y,1) = “”
End sub
Parcours de liste : retrouver code
étudiant à partir de son nom
Sub code()
 nom = inputbox(“Quel nom ?”)
 y=1
 Do
   y=y+1
 Loop until (cells(y,2) = nom)
 ‘on a trouvé le nom, on affiche le code
  msgbox Cells(y,1)
End sub
Recherche, sans dépasser
Sub code()
 nom = inputbox(“Quel nom ?”)
 y=1
 Do
  y=y+1
 Loop until (cells(y,2) = nom) or (cells(y,1) = “”)

   if (cells(y,1) = “”) then
    msgbox “Erreur !”
  else
    msgbox Cells(y,1)
  end if
End sub
Copier les bonnes notes
Sub code()
 y1 = 1
 Y2 = 1
 Do
  if (cells(y,4) > 12) then
    sheets(“bonnes notes”).cells(y2,1) = cells(y1,1)
    y2 = y2 +1
  end if
  y1 = y1 + 1
Loop until (cells(y1,1) = “”)
End sub
Exercice
TP 8

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:9/15/2012
language:Unknown
pages:11