1 Introduction à la programmation et à l’algorithmique en VBA pour Excel Cécile

1 Introduction à la programmation et à l’algorithmique en VBA pour Excel Cécile Le Pape cecile.lepape@lip6.fr http://webia.lip6.fr/~lepape/ens/infogen1 2 Références • http://aigespc57.cicrp.jussieu.fr/algo/index.htm Introduction à l'algorithmique. Christophe Darmangeat • Programmation et Algorithmique en VBA pour Excel. Anne Brygoo et al. (Ed. Dunod.) • Excel 2003, Programmation VBA. Daniel-Jean David (Ed. Eyrolles) • Les cahiers d'exercices – Excel 2007 : Macros et programmation en VBA. Pierre Rigollet (Ed. ENI) 3 Préambule • Ce cours est une introduction à l’algorithmique et la programmation. ƒ Programmer vous permet d’effectuer des calculs automatiques complexes ƒ Vous apprendrez simultanément à réfléchir (algorithmique) et à programmer dans un langage concret (VBA) ƒ L’année prochaine, nous poursuivrons ce cours par un cours de programmation VBA/Excel avancé (objets, formulaires, activeX, …) • Il est illustré par l’apprentissage du langage VBA pour Excel. ƒ VBA pour Excel a été choisi (au lieu de C) pour sa simplicité d’apprentissage par les débutants. ƒ Il permet d’écrire des programmes interactifs graphiques exécutés dans le tableur Excel, compétence ludique et utile en entreprises. 4 Plan du cours 1 1. Information et ordinateurs 1. Représentation de l’information dans un ordinateur 2. Codage binaire et hexadécimal 2. Introduction à l’algorithmique 1. Définition d’un algorithme 2. De l’algorithme au programme 3. Programmer en VBA avec Excel 1. Présentation d’Excel 2. L’éditeur de programmes VBE 5 Architecture des ordinateurs écran carte mère CPU (microprocesseur) mémoire vive (RAM) cartes de périphériques alimentation lecteur de disque (CD, DVD) disque dur clavier souris 6 Les ordinateurs ne pensent pas, ils calculent ! • Les ordinateurs sont capables de traiter du texte, de jouer de la musique, de projeter des vidéos, de faire tourner des jeux, etc. • Pourtant, ils ne sont capables que d’une seule chose : faire des calculs. C’est le rôle du microprocesseur. • Lorsqu’un ordinateur traite du texte, de l’image, du son ou de la vidéo, il ne traite qu’une seule chose : des nombres. • Plus simple, il ne connaît pas le nombre 3 ou -10, encore moins 2,51 ou π. • Un ordinateur manipule exclusivement des informations binaires. 7 Qu’est-ce qu’une information binaire ? • C’est une information qui ne peut avoir que deux états ƒ ouvert ou fermé, libre ou occupé, militaire ou civil, assis ou couché, blanc ou noir, vrai ou faux, etc. • L'information binaire est présente dans le monde courant ƒ pile chargée ou déchargée, secrétaire absente ou présente, carté perforée ou non perforée, circuit électrique ouvert ou fermé, etc. • Un ordinateur possède différents supports physiques capables de stocker de l’information binaire ƒ La mémoire vive (la « RAM ») est formée de millions de composants électroniques qui peuvent retenir ou relâcher une charge électrique. ƒ La surface d’un disque dur, d’une bande ou d’une disquette est recouverte de particules métalliques qui peuvent, grâce à un aimant, être orientées dans un sens ou dans l’autre. ƒ Sur un CD-ROM, on trouve un long sillon étroit irrégulièrement percé de trous. 8 Représentation d’une information binaire • La coutume veut qu’on symbolise une information binaire, quel que soit son support physique, sous la forme de 1 et de 0. • Il faut bien comprendre que ce n’est là qu’une représentation, une image commode, que l’on utilise pour parler de toute information binaire : c’est une abstraction utile pour représenter l’information. • On utilise des abstractions (pas seulement binaires) tous les jours : ƒ une mappemonde permet de se représenter la terre ƒ la carte du métro permet de se représenter le réseau des stations ƒ le chiffre 4 peut avoir différentes représentations : 4 IV 100 ƒ 4+3=7 est une abstraction mathématique qui évite d’utiliser des morceaux de bois ou des cailloux pour compter 9 La numérotation de position • Pour représenter un nombre, aussi grand soit-il, nous disposons d’un alphabet spécialisé : une série de 10 signes qui s’appellent les chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9. • Lorsque nous écrivons un nombre en mettant certains de ces chiffres les uns derrière les autres, l’ordre dans lequel nous mettons les chiffres est capital. ƒ 2034 est différent de 4203. • C’est la position des chiffres dans le nombre qui donne sa valeur. ƒ 2034 = 2*1000+0*100+3*10+4*1. = 2*103+0*102+3*101+4*100. 10 La base décimale En base décimale, deux règles s’appliquent pour l’écriture d’un nombre : • Règle 1 : nous utilisons un alphabet numérique de dix symboles. ƒ Nous nous servons de dix chiffres, pas un de plus, pas un de moins. • Règle 2 : la position d’un de ces dix chiffres dans un nombre désigne la puissance de dix par laquelle ce chiffre doit être multiplié pour reconstituer le nombre. ƒ Si je trouve un 7 en cinquième position à partir de la droite, ce 7 ne représente pas 7 mais 7*104, soit 70 000. ƒ Attention au décalage de 1 entre la position et la puissance de 10 ! Si le 7 est en première position, il représente 7*100, soit 7. Ce sont les unités. 11 La représentation binaire • La base binaire ƒ Les ordinateurs ont des dispositifs physiques faits pour stocker des informations binaires. Lorsqu’on représente une information stockée par un ordinateur, le plus simple est donc d’utiliser un système de représentation à deux chiffres : les fameux 0 et 1. C’est la base binaire. • Les octets ƒ Avec un emplacement d’information d’ordinateur, on est limité à deux choses différentes seulement. Avec une telle information binaire, on ne va pas loin. Voilà pourquoi, dès leur invention, les ordinateurs ont été conçus pour manier ces informations par paquets de 0 et de 1. Et la taille de ces paquets a été fixée à 8 informations binaires. Ce sont les octets. 12 La représentation binaire • Une information binaire, symbolisée couramment par 0 ou 1, s’appelle un bit (en anglais... bit, pour binary digit). • Un groupe de huit bits s’appelle un octet (en anglais, byte) • Donc, méfiance avec le byte (en abrégé, B majuscule), qui vaut un octet, c'est-à-dire huit bits (en abrégé, b minuscule). 13 La base binaire : décodage En base binaire, les règles sont les suivantes: • Règle 1 : nous utilisons un alphabet numérique de deux chiffres, 0 et 1. • Règle 2 : la position d’un de ces deux chiffres dans un nombre désigne la puissance de deux par laquelle ce chiffre doit être multiplié pour reconstituer le nombre. • Décodage de l’octet 10110101 ƒ 10110101 = 1*27+0*26+1*25+1*24+0*23+1*22+0*21+1*20 = 128+32+16+4+1 = 181 en base 2 en base 10 14 La base binaire : codage (1) Il suffit de rechercher dans notre nombre les puissances successives de 2. 27 26 25 24 23 22 21 20 • Codage de 186. ƒ 186 est compris entre 0 et 255 donc 186 se code sur 8 bits ƒ Dans 186, on trouve 1 x 128, soit 1 x 27. ƒ Je retranche 128 de 186 et j’obtiens 58. Dans 58, on trouve 0 x 64, soit 0 x 26. ƒ Je ne retranche donc rien. Dans 58, on trouve 1 x 32, soit 1 x 25. ƒ Je retranche 32 de 58 et j’obtiens 26. Dans 26, on trouve 1 x 16, soit 1 x 24. ƒ Je retranche 16 de 26 et j’obtiens 10.Dans 10, on trouve 1 x 8, soit 1 x 23. Je retranche 8 de 10 et j’obtiens 2. ƒ Dans 2, on trouve 0 x 4, soit 0 x 22. ƒ Je ne retranche donc rien. Dans 2, on trouve 1 x 2, soit 1 x 21. ƒ Je retranche 2 de 2 et j’obtiens 0.Dans 0, on trouve 0 x 1, soit 0 x 20. ƒ Il ne me reste plus qu’à reporter ces différents résultats (dans l’ordre !) pour reconstituer l’octet : en binaire, 186 est représenté par : 10111010 ? ? ? ? ? ? ? ? 1 0 1 ? ? ? ? ? 1 0 ? ? ? ? ? ? 1 ? ? ? ? ? ? ? 1 0 1 1 ? ? ? ? 1 0 1 1 1 ? ? ? 1 0 1 1 1 0 ? ? 1 0 1 1 1 0 1 ? 1 0 1 1 1 0 1 0 15 La base binaire : codage (2) L'autre méthode pour convertir un nombre décimal en base 2 est d'utiliser des successions de divisions entières par le nombre 2, jusqu’à obtenir un quotient de 0. Le résultat est obtenu en lisant les restes obtenus en sens inverse. 27 26 25 24 23 22 21 20 • Codage de 186 ƒ 186/2=93 reste 0 ƒ 93/2=46 reste 1 ƒ 46/2=23 reste 0 ƒ 23/2=11 reste 1 ƒ 11/2=5 reste 1 ƒ 5/2=2 reste 1 ƒ 2/2=1 reste 0 ƒ 1/2=0 reste 1 ƒ fin de la division car quotient nul ƒ Soit (en lisant les restes obtenus en sens inverse) : 10111010 ? ? ? ? ? ? ? 0 ? ? ? ? ? ? 1 0 ? ? ? ? ? uploads/Geographie/ cours-vba.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager