aZ aZ aZ \ a __
__ __
aZ aZ
Que se passe-t-il votre avis si 1) vous excutez la macro en vous plaant dans la cellule B1 qui contient 0 2) vous excutez la macro en vous plaant dans la cellule A1 qui contient 1 3) vous excutez la macro en vous plaant dans la cellule A2 qui contient 5 Aprs avoir rpondu aux questions, recopiez la macro et testez.
Rponse : 1) Les cellules A1, B1 et A3 valent 0, la cellule A2 vaut 5, la cellule active devient C1. 2) La cellule A2 vaut 5, la cellule A3 vaut 2, les autres cellules sont vides, la cellule active reste A1 3) Les cellules A1 et A2 valent 5, la cellule A3 vaut 6 et la cellule active reste A2 . Conclusion : faire bien attention la premire instruction : Range( A1 ) = ActiveCell qui signifie que la cellule A1 pointe sur la cellule active, elle prend donc les mmes valeurs que la cellule active si cette dernire est modifie.
Rponse :
\ __ _ Z b \ __ _ \ __ _ \ \` _ aZ b [ _ a aZ _ _ ba]b
_ b ^ [ \_ aZ Ou bien \_ aZ \ [ __ _
__ _
_ b ^ [ \_ aZ _ _ \_ aZ _
Rponse :
_\ b ` __ _ \`_ Z aZ __ _ aZ _ Z aZ b [ __ _ a_ Z \ [ __ _ b \ ba _ _\Za` a _ a \ _ _\Za` a _ a a \ [ \ [ __ _ ba
` \ _ b_ \ b_b a a \ [
a
2.
Dans cette procdure, vous utilisez une plage fixe, mais il serait intressant de pouvoir lappliquer la plage slectionne par lutilisateur. Indice : regarder lobjet appel Selection
\ba
b ^ [
a \ba
Exercice 6.
La collection \ _bZ de lobjet cc_\ \ba contient l'ensemble des boites de dialogues utilises par Excel. Ces boites agissent le plus souvent sur la slection en cours donc nous sommes dans un des rares cas o l'emploi de la mthode Select sera obligatoire.
b\ \ _bZ
Ecrire une macro _\Za ` a qui slectionne la plage B1:B5 et qui ouvre une boite de dialogue permettant de spcifier lalignement des cellules de la plage. Rponse : Public Sub alignement() Range("B1:B5").Select Application.Dialogs(xlDialogAlignment).Show End Sub