Beruflich Dokumente
Kultur Dokumente
php
Pour mettre en pratique ce qui a t vu jusque-l, nous allons crer tape par tape une macro qui va
colorer 10x10 cellules (en damier rouge et noir) partir de la cellule slectionne, aperu :
Sub exercice_boucles()
'...
End Sub
Pour commencer, ajoutez une boucle For qui va colorer en noir les cellules de la colonne A de 1 10 (10 tant la constante NB_CASES), aperu :
Prenez quelques instants pour crer cette boucle avant de passer la solution ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 of 5 16/10/2016 14:16
Cours VBA : les boucles (exercice) http://www.excel-pratique.com/fr/vba/boucles_suite.php
.
.
.
.
.
.
.
.
La solution :
Sub exercice_boucles()
Next
End Sub
La prochaine tape est la coloration en rouge d'une cellule sur 2 grce une instruction If (en fonction des n de ligne pairs/impairs), aperu :
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
La solution :
Sub exercice_boucles()
2 of 5 16/10/2016 14:16
Cours VBA : les boucles (exercice) http://www.excel-pratique.com/fr/vba/boucles_suite.php
Next
End Sub
Seuls les n de ligne pairs ont un reste gal 0 lorsqu'ils sont diviss par 2.
Crez maintenant une boucle qui va excuter la premire boucle sur 10 colonnes, aperu :
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
La solution :
Sub exercice_boucles()
3 of 5 16/10/2016 14:16
Cours VBA : les boucles (exercice) http://www.excel-pratique.com/fr/vba/boucles_suite.php
If l Mod 2 = 0 Then
Cells(l, c).Interior.Color = RGB(200, 0, 0) 'Rouge
Else
Cells(l, c).Interior.Color = RGB(0, 0, 0) 'Noir
End If
Next
Next
End Sub
Remplacez :
If l Mod 2 = 0 Then
Par :
If (l + c) Mod 2 = 0 Then
Il ne reste plus qu' modifier le code pour crer le damier partir de la cellule active ( la place de A1), aperu :
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 of 5 16/10/2016 14:16
Cours VBA : les boucles (exercice) http://www.excel-pratique.com/fr/vba/boucles_suite.php
.
.
.
.
.
.
.
.
.
.
.
.
La solution :
Sub exercice_boucles()
If (l + c) Mod 2 = 0 Then
'Cells(n de ligne + dcalage lignes, n de colonne + dcalage colonnes)...
Cells(l + lig, c + col).Interior.Color = RGB(200, 0, 0) 'Rouge
Else
Cells(l + lig, c + col).Interior.Color = RGB(0, 0, 0) 'Noir
End If
Next
Next
End Sub
5 of 5 16/10/2016 14:16