td 3 et 4 – macro sous excel

Transcription

td 3 et 4 – macro sous excel
TD3ET4–MACROSOUSEXCEL
1.
QU’EST-CEQU’UNEMACRO?
Unemacroestuneséried’actionsoudecalculsqu’Excelexécuteautomatiquement:
•
Effacerunensemblededonnéescommedesperformancesd’élèvesréaliséeslorsdelaleçonprécédente);
•
Lancerunchronomètre,…;
Miseengarde:
•
C’estunprogrammedontl’exécutionpeutendommagerl’ordinateur,détruirelesystèmed’exploitationoufaired’autrestracasseriesdecegenre,si
elleaétéécritedanscebut;
•
Ilconvientdenelancerquelesmacrosdontonconnaîtl’auteurouquiviennentd’unesourcesûre;
•
IlconvientégalementdeseprotégercontrececienparamétrantExceldefaçonoptimale(Gestiondelasécurité);
2.
POURQUOICREERUNEMACRO?
Oui,pourquoicréerunemacro???
•
IlexistebeaucoupdefeuillesExcelavecdesmacrossurinternet,etquisontintéressantesàmanipuler,àfairemanipulerpaslesélèves.Onpourrait
doncs’encontenter;
•
Il existe toujours des cas où une feuille ne répond pas exactement à nos attentes, des cas où il n’existe pas de feuilles correspondant à ce qu’on
voudraitmettreenplace,descasoùonauneidéequ’onsouhaiteraitréaliser…d’oùl’intérêtdeconnaîtrecommentfonctionnentlesmacros;
3.
QUEFAUT-ILFAIREENAMONTDEL’ENREGISTREMENTDELAMACRO?
Troisétapessontnécessairesafinquelamacrosoitcohérenteaveclebutcherché:
•
Elaborerlescénariodelasituationpédagogiquepourlaquellelamacrovaêtreutilisée:àtraverscetteétape,ils’agitdedéterminerlecadredans
lequel la macro va être utilisée et les besoins auxquels elle va devoir répondre (est-ce qu’il s’agit de gérer un cross d’établissement, de gérer un
tournoidéfi,dequantifierunequantitédepratique,d’évalueruneactivité,d’effectuerunappel,…);
•
ElaborerlecadrevisueldelafeuilleExcel:cetteétapedoitpermettrederendreagréableetintuitifl’utilisationdelamacro.Ils’agitdoncd’organiser
lesdonnéesetlesrésultatsquivontêtreutilisées;
•
Elaborer le scénario de la macro : cette étape doit permettre de penser et d’anticiper les différentes actions chronologiques qui vont permettre
d’aboutiraurésultatcherché;
4.
QUEFAUT-ILFAIRELORSDEL’ENREGISTREMENTDELAMACRO?
Cetteétapedemandeuneseulechose:
•
Nepasseprécipiter:ilfautréaliserlesdifférentesactionsdansl’ordre,sansenoublierune(d’oùl’intérêtdepréparerlesscénarios);
5.
QUEFAUT-ILFAIREAPRESL’ENREGISTREMENTDELAMACRO
Aprèssonenregistrement,toutn’estpasterminé:
•
Ilfautaffecterlamacroàunboutonpoursonexécution(saufsielledoitselanceràl’ouverturedelafeuille);
•
Aucunemacron’estparfaite:ellepeuteffectueruneactioncommandéesansprévenirdesconséquencesqu’elleengendre,etseseffetsnepourront
pasêtreannulés(commeparexempleécraseruntexteexistant).Ilfautdoncfairefonctionnerlamacroenmultipliantlesmodalitésd’utilisation,afin
devérifierlessourcesd’erreurspotentiellessoitdanssaconception(unélèvenemanipulepastoujoursvotreprogrammecommevousauriezvoulu
qu’illefasse…),soitdanssonexécution(desbugspeuventsurvenirdanscertainesconditionsd’utilisation…);
6.
ETQUOID’AUTRES?
Quelquesinfospasnécessaires,maisutiles:
•
Pourqu’unemacrofonctionne,sonclasseurdoitêtreouvert;
•
Iln’estpasnécessairequeleclasseurquihébergelamacrosoitactif,maisildoitêtreouvert.Lamacropeutalorsêtreexécutéedansn’importequel
autreclasseurouvert;
•
Ilestpossibled’affecterunetouchederaccourciàlamacro(etdoncd’avoiruncontrôleavecleclavier);
•
Il est possible d’écrire la macro au lieu de l’enregistrer, mais il faut connaître le langage VBA (Visual Basic Application) et taper le code dans VBE
(VisualBasicEditor);
•
Ilestpossibledestockertoutessesmacrosdansunclasseurdemacrospersonnelles(personalVBA).Ellessontainsitoutesdisponiblesdèsqu’Excel
estouvert.Maissilefichierestouvertsuruneautreunité(PC/tablette/…),lesmacrosnefonctionnerontpas,puisqu’ellesneserontpasprésentes
surcetteunité.Ilfaudraalorségalementcopierleclasseurdemacrospersonnelles.Leplussimpleétantdestockerlamacrodanssonfichierd’origine
(celaalourditunpeulefichier,maislamacroestaccessiblealorspartout);
7.
LAPRATIQUE
Resteàpratiquerpoursetromper,comprendre,ajuster,trouverdessolutions,répondreàsesbesoinspédagogiques…etdevenircréatif.Ilfautdoncseplonger
danslesTD/Tutod’Eric…demontrerdesexemples,deprovoquerdesidéesderéalisation,deremédierauxdifficultés(quandonpeut),…