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),…