Notion de variable en VBA



Documents pareils
Valeur cible et solveur. Les calculs effectués habituellement avec Excel utilisent des valeurs numériques qui constituent les données d'un problème.

TD3 - Facturation avec archivage automatisé

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Comment créer et utiliser une fonction

LibreOffice Calc : introduction aux tableaux croisés dynamiques

SOS Info: Traitement de textes. 1. Structurer un document. 2. Enregistrer un document

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Débuter avec OOo Base

TABLEAU CROISE DYNAMIQUE

Google Drive, le cloud de Google

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Utilisation de la clé USB et autres supports de stockages amovibles

Traitement de texte : Quelques rappels de quelques notions de base

Excel 2007 Niveau 3 Page 1

Mon aide mémoire traitement de texte (Microsoft Word)

MEDIAplus elearning. version 6.6

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

VOS PREMIERS PAS AVEC TRACENPOCHE

La saisie d un texte

Formation VBA 3 Interagir

Publipostage avec Calc

1 TD 2 : Construction d'une chier Acrobat et envoi par

Tutorial Ophcrack. I) Ophcrack en API. (ou comment utiliser Ophcrack pour recouvrir un mot de passe sous Windows XP et Windows Vista)

@telier d'initiation

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

Microsoft Excel. Tableur

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Création d'un questionnaire (sondage)

GUIDE Excel (version débutante) Version 2013

CRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND

Transférer et enregistrer les photos sur l'ordinateur

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com

OneDrive, le cloud de Microsoft

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Réaliser un PUBLIPOSTAGE

Formation. Module WEB 4.1. Support de cours

Importer un fichier CSV

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Pluridisciplinarité. Classe de BTS DATR

La sauvegarde (backup) de votre comptabilité a pour but de vous permettre de retrouver vos données si un incident est survenu.

Introduction : Cadkey

Classer et partager ses photographies numériques

Initiation à la programmation en Python

Alain DI MAGGIO Mise à jour sur le site 11/01/10

PRÉSENTÉ PAR : NOVEMBRE 2007

Dispositif Technique

Comment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun

à l édition de textes

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

OpenOffice Base Gestionnaire de Base de Données

Note de cours. Introduction à Excel 2007

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

LIMESURVEY. LimeSurvey est une application permettant de créer des questionnaires d enquête en ligne et d en suivre le dépouillement.

Utilisation du logiciel ModellingSpace

EXCEL TUTORIEL 2012/2013

Comment bien démarrer avec. NetAirClub GUIDE ADMINISTRATEUR V1.5. Table des matières

FileSender par RENATER - Guide utilisateur

WHS ProRealTime. édition

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Le publipostage avec Open Office

Créer un tableau avec LibreOffice / Calc

Base élèves : des étiquettes avec OpenOffice 2.0

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Le générateur d'activités

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

supérieure Vous ne connaissez pas le numéro de version de votre application?

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/ / 15

Silhouette Studio Leçon N 2

Utiliser le service de messagerie électronique de Google : gmail (1)

Importation des données dans Open Office Base

Navigation dans Windows

l'ordinateur les bases

A - Créer une Base de données au format dbase

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

progecad NLM Guide de l'utilisateur

Le langage C. Séance n 4

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

Utiliser un tableau de données

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

La formation informatique en ligne INFOS COURS - FORUM SUPPORT DE COURS WOR MICROSOFT

PREINSCRIPTION EN LIGNE

claroline classroom online

Edutab. gestion centralisée de tablettes Android

SOMMAIRE. Travailler avec les requêtes... 3

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

AFTEC SIO 2. Christophe BOUTHIER Page 1

Transcription:

Notion de variable en VBA http://info.sio2.be/tableur/8 Tu dois devenir capable de Savoir 1. expliquer l'origine historique du mot "bug" qualifiant une erreur dans le fonctionnement d'un ordinateur; Savoir faire 1. Passer le compilateur Delphi en mode débogage ; 2. Exécuter une application en mode pas à pas et pas à pas détaillé ; 3. Placer et supprimer un point d'arrêt dans un programme ; 4. Ajouter un point de suivi pour inspecter la valeur d'une variable ; 5. Modifier la valeur d'une variable durant l'exécution d'un programme ; 6. Utiliser les opérateurs DIV et MOD ; 7. Utiliser des fonctions mathématiques et de texte ; 8. Concevoir des applications Delphi en procédant à une rélexion préalable sans ordinateur. Notions de variables en VBA 1/18

1. Notion de variable en VBA Une variable est une portion de la mémoire centrale de l'ordinateur et qui est susceptible d'accueillir une valeur. Cette valeur peut être réutilisée plus tard dans l'exécution d'une procédure. Ouvre un nouveau classeur Excel Dans le menu Outils, sélectionne la commande Macro puis l'option Macros... Dans la zone Nom de la macro, indique TesteVariables Clique ensuite le bouton Créer La fenêtre de l'éditeur VBA s'ouvre: le curseur de texte attend tes premières frappes entre les marqueurs de début et de fin de la procédure TesteVariables Entre ces deux marqueurs, frappe le texte sur le modèle suivant Il est très important de respecter scrupuleusement les symboles utilisés et l'orthographe du texte. Notions de variables en VBA 2/18

La procédure est maintenant en place. Nous allons pouvoir examiner ce qu'elle fait en l'exécutant pas à pas. Place le curseur de texte dans le texte de la procédure Frappe la touche F8 pour démarrer l'exécution pas à pas Frappe encore cette touche 7 fois de suite de manière à exécuter l'ensemble des instructions Au cas où un message d'erreur intervient durant la manipulation, vérifie que ton texte correspond parfaitement à ce qui est indiqué plus haut. J'ai un peu l'impression que l'on se moque de moi là... Il ne s'est rien passé du tout durant l'exécution de ces instructions. Il ne s'est rien passé? Je ne serais pas si formel. Simplement, ce qui s'est passé n'est pas directement visible: tout s'est déroulé en coulisses, dans la mémoire de l'ordinateur. Pas très impressionnant, du coup. Et il n'y a vraiment aucun moyen de voir ce qui s'y passe, dans cette mémoire? Heureusement si! On peut soulever un coin du voile, si l'on veut. 2. Voir les variables en coulisses La procédure TesteVariables fonctionne parfaitement. Nous allons maintenant passer à l'intérieur de la mémoire pour voir comment elle fonctionne. Vérifie que l'éditeur VBA est toujours bien actif Dans le menu Affichage, sélectionne la commande Fenêtre Variables locales Une nouvelle fenêtre intitulée Variables locales apparaît, vide pour l'instant Cette fenêtre étant bien visible, exécute à nouveau la procédure TesteVariables en mode Pas à pas: le curseur de texte étant dans le texe de la procédure, frappe la touche F8. Le contenu de la fenêtre Variables locales se modifie: les différents noms donnés dans l'éditeur VBA apparaissent à côté de la mention Variant/Empty Notions de variables en VBA 3/18

Frappe la touche F8 pour déclencher la première instruction. Dans la colonne Valeur de la ligne MaVariable, la valeur 500 apparaît. Dans la colonne Type de la ligne MaVariable, la mention Integer s'affiche. Frappe la touche F8 pour déclencher la deuxième instruction, et ainsi de suite. Continue d'observer le contenu de la fenêtre Variables locales lors de l'exécution des différentes instructions. A la fin, la fenêtre se présente comme ci-dessous. Lorsque le marqueur de fin de procédure est dépassé, la fenêtre se vide. Que faut-il retenir de cette expérience? 1 Les entités nommées MaVariable, Toto, MonNom, LaDate dans l'exemple ci-dessous sont des VARIABLES. 2 Une variable est une portion de la mémoire centrale de l'ordinateur dans laquelle on peut déposer une information. 3 L'information déposée dans une variable est généralement caractérisée par son type: Integer: il s'agit d'un nombre entier String: il s'agit d'une "chaîne" de caractères, un mot, une phrase,... Date:... :o)... Excel admet encore beaucoup d'autres types. 4 L'information déposée dans une variable peut... changer s'il est prévu qu'elle change dans la procédure qui l'utilise. 5 A la fin de l'exécution de la procédure, la variable perd sa valeur. Notions de variables en VBA 4/18

3. Les variables peuvent communiquer avec les feuilles de calculs Dans l'exemple précédent, nous avons vu que les variables existent dans le monde de la mémoire centrale. Existe-t-il cependant un moyen de les faire communiquer avec le monde des feuilles de calculs? Les variables transmettent des valeurs Sur une feuille de calculs vierge, introduis les informations indiquées sur l'exemple cidessous. Indique ton âge dans la cellule B1. Démarre la rédaction manuelle d'une nouvelle procédure, selon la méthode déjà expliquée précédemment: cette procédure s'appellera CalculAge. Sur la première ligne, écris le texte MonAge = Derrière le signe =, frappe Ctrl+Espace Une liste déroulante apparaît: elle présente les noms des procédures et des objets qui peuvent être utilisés ici: Frappe la lettre R (première lettre du mot Range) et sélectionne l'objet Range Frappe la touche de tabulation; le mot-clef Range s'ajoute au texte Frappe une parenthèse ouvrante Une nouvelle aide apparaît pour indiquer les informations suivantes à fournir Notions de variables en VBA 5/18

Ici, nous sommes avertis qu'une référence de cellule est attendue. Indique la référence MonAge = Range("B1") Frappe un point Une liste déroulante apparaît. Elle nous présente toutes les méthodes et les propriétés que l'on peut indiquer maintenant. Frappe la lettre V (première lettre de la propriété Value) Frappe la touche de tabulation: la ligne se complète En utilisant les mêmes procédés, termine la rédaction du texte de cette procédure selon l'exemple présenté ci-dessous: Peux-tu prévoir ce que fait cette procédure? Réfléchis quelques instants avant de poursuivre. La procédure CalculAge: dépose le contenu de la cellule B1 dans la variable MonAge; ajoute deux unités à la valeur de MonAge et dépose le résultat du calcul dans la cellule B2 dépose la valeur de la variable MonAge dans la cellule B3. Cette valeur n'a pas changé depuis la première ligne. Exécute la procédure en mode Pas à pas Les variables transmettent des formules Notions de variables en VBA 6/18

modifie le texte de la procédure CalculAge selon les indications données ci-dessous Peux-tu prévoir ce que fait cette procédure? Réfléchis quelques instants avant de poursuivre. Quelle différence avec la version précédente? Exécute la procédure en mode Pas à pas. 4. Les variables et leurs types A la page précédente, nous avons pu voir que le logiciel Excel distingue les variables selon leur type. Quelques expériences complémentaires vont nous permettre de mieux comprendre ce point. Les variables numériques et leurs types Démarre l'éditeur de code VBA selon la méthode utilisée précédemment dans cette leçon. Dans l'éditeur, frappe le texte de la procédure TypesVariables comme illustré cidessous. Sois attentif à l'écriture de la valeur 2.13, avec un point et non une virgule. Visualise la fenêtre des Variables locales en utilisant la méthode expliquée précédemment dans cette leçon. Exécute la procédure en mode Pas à pas en frappant la touche F8. A chaque frappe, sois attentif aux informations données dans la fenêtre des Variables locales. Après l'exécution des deux premières lignes, la fenêtre des variables locales se présente comme sur l'illustration ci-dessous: Notions de variables en VBA 7/18

La variable MaVariable est de type Integer (un nombre entier); la variable TaVariable est du type Double. Les variables de type Double sont conçues pour recevoir des valeurs appartenant à l'ensemble des réels (au sens mathématique). Dans une variable de type Double, le nombre est codé sur 8 octets. Cela permet d'y déposer des nombres compris entre -1,79769313486231.10308 et -4,94065645841247.10-324 pour les nombres négatifs et entre 4,94065645841247.10-324 et 1,79769313486231.10308 pour les positifs. Il existe aussi le type Single qui permet de recevoir des nombres compris entre -3,402823.1038 et -1,401298.10-45 pour les nombres négatifs et entre 1,401298.10-45 et 3,402823.1038 pour les positifs. Dans le cadre de cette leçon, nous n'aurons pas à nous soucier de ces subtilités: nous laisserons la gestion des types de variables au logiciel. Ecrire correctement les valeurs "texte" à déposer dans les variables Sélectionne l'éditeur de code VBA si nécessaire. Dans l'éditeur, frappe le texte de la procédure TypeTexte comme illustré ci-dessous. Exécute les instructions en mode Pas à pas en examinant le contenu de la fenêtre Variables locales. A la première ligne, la variable TaVariable reçoit la valeur Bonjour le monde. Remarque les guillemets. A la deuxième ligne, le contenu de la variable TaVariable est déposé dans MaVariable. Remarque que pour désigner le contenu de la variable on utilise simplement son nom, sans Notions de variables en VBA 8/18

guillemets. A la troisième ligne, c'est bien le texte "TaVariable" qui est envoyé dans MaVariable. Pour indiquer qu'il s'agit bien d'un texte, on utilise les guillemets. Dans l'éditeur VBA, les textes qui doivent être affectés à des variables sont entourés de guillemets. Pour désigner une variable, on n'utilise jamais de guillemets. Ecrire correctement les valeurs "date" à déposer dans les variables Sélectionne l'éditeur de code VBA si nécessaire. Dans l'éditeur, frappe le texte de la procédure TypeDate comme illustré ci-dessous. Exécute la procédure en mode Pas à pas en examinant attentivement le contenu de la fenêtre Variables locales. Oups! Mais c'est n'importe quoi cette histoire. Quelqu'un peut m'expliquer la raison pour laquelle cette valeur 1,797.10-3 vient se mettre dans la variable? Très simple: c'est le résultat de l'opération de division de 18 par 5 divisé par 2003. Le problème, c'est que nous n'avions pas précisé qu'il s'agissait d'une date. Excel a donc considéré qu'il s'agit simplement d'un calcul... qu'il effectue sans problème. Et on s'en tire comment alors? Cela reste très simple: on entoure la valeur de type date d'un signe de reconnaissance: le signe #. Dans l'éditeur VBA, modifie la ligne d'instruction de la procédure TypeDate en MaVariable = #18/05/2003# Exécute la procédure Pas à pas. Tout se passe maintenant correctement. Dans l'éditeur VBA, les dates qui doivent être affectés à des variables sont entourés de signes #. Notions de variables en VBA 9/18

5. Examiner et modifier les propriétés des objets Nous sommes maintenant capables d'examiner le contenu des variables à tout moment de l'exécution d'une procédure. Il est également possible d'examiner les objets et leurs propriétés. Examen et modification manuelle des propriétés Ouvre un nouveau classeur Excel. Dans la cellule A1 de la Feuil1, frappe la formule "=A2+2" Dans la cellule A2, indique la valeur 10. Puisque A2 contient 10, le contenu de A1 vaut donc 12. Si nécessaire, démarre l'éditeur de code VBA selon la méthode utilisée précédemment dans cette leçon. Dans l'éditeur, frappe le début du texte de la procédure ExamineObjet selon le modèle proposé ci-dessous La syntaxe utilisée est semblable à celle que nous avons employée lors de l'affectation d'une variable. Remarque cependant la différence avec l'emploi du mot clef Set. L'objet Range("A1") est affecté à la variable UnObjet. Vérifie que la fenêtre des Variables locales soit visible à l'écran. Exécute la macro en mode Pas à pas. Dans la fenêtre des variables locales, nous voyons apparaître la mention de la variable précédée d'un signe qui indique la présence d'une liste à ouvrir: Notions de variables en VBA 10/18

Clique sur le signe qui précède la mention UnObjet La liste des propriétés de l'objet UnObjet apparaît Certaines de ces propriétés sont elles-mêmes de objets (voir à ce sujet la leçon qui évoque cette possibilité). Sélectionne la propriété ColumnWidth puis clique sur la valeur 10,71 qui lui est attribuée actuellement. Change cette valeur en 20. Remarque que la colonne qui contient la cellule A1 s'est élargie. On voit donc que nous pouvons modifier les propriétés "à la main". Dans la liste des propriétés, recherche Formula et modifie sa valeur à "=A2*2". Note la modification dans la feuille de calculs. Dans la liste des propriétés, recheche Value et modifie sa valeur à 55. Note que la formule disparaît de la cellule A1 et fait place à la valeur indiquée. Notions de variables en VBA 11/18

Modification des propriétés dans une procédure Si les propriétés peuvent être modifiées "à la main", il est aussi possible de les modifier dans une procédure. Exemple 1: Dans la cellule A1 de la feuille de calculs active, indique la valeur 0. Retourne dans l'éditeur de code VBA. Dans l'éditeur, frappe le texte de la procédure ModifProp selon le modèle proposé cidessous: Exécute la macro en mode Pas à pas. Examine le contenu de la cellule A1. D'autres propriétés peuvent être modifiées de la même façon. Exemple 2 Retourne dans l'éditeur de code VBA. Dans l'éditeur, modifie le texte de la procédure ModifProp selon le modèle proposé cidessous: Peux-tu prévoir ce qui va se passer lors de l'exécution? Réfléchis quelques instants avant de lancer la procédure. Exemple 3 Retourne dans l'éditeur de code VBA. Dans l'éditeur, modifie le texte de la procédure ModifProp selon le modèle proposé cidessous: Notions de variables en VBA 12/18

Pour la valeur du paramète ColorIndex, tu peux indiquer un chiffre compris entre 1 et 56 de la palette ci-dessous. Exemple 4 Retourne dans l'éditeur de code VBA. Dans l'éditeur, modifie le texte de la procédure ModifProp selon le modèle proposé cidessous: Peux-tu prévoir ce qui va se passer lors de l'exécution? Réfléchis quelques instants avant de lancer la procédure. Toutes les propriétés des objets ne peuvent être modifiées: dans ce cas, elles sont dites "en lecture seule". 6. Interaction avec l'utilisateur: l'ordinateur vous parle A ce point de la leçon, nous avons appris à manipuler les variables et à voir leur contenu dans la fenêtre des variables locales. Nous savons aussi comment la valeur d'une variable peut être déposée dans une cellule d'une feuille de calculs. Nous allons maintenant apprendre à faire en sorte que les procédures puissent afficher la valeur d'une variable dans une boîte de dialogue. VBA prévoit une fonction appelée MsgBox et dont le rôle est de délivrer de courts messages à l'utilisateur. Comme il s'agit d'une fonction, elle demande un certain nombre de paramètres et renvoie une valeur. Notions de variables en VBA 13/18

Si nécessaire, démarre l'éditeur de code VBA selon la méthode utilisée précédemment dans cette leçon. Dans l'éditeur, frappe le début du texte de la procédure Message selon le modèle suivant: Immédiatement derrière le mot MsgBox, frappe une parenthèse ouvrante. Un aide-mémoire des paramètres possibles apparaît. Le premier paramètre s'appelle Prompt: il s'agit du message à délivrer à l'écran. Le terme français "prompteur" (utilisé par le présentateur TV) dérive de ce mot. Frappe le message à déliver à l'utilisateur sur le modèle ci-dessous: Frappe ensuite une virgule. Un aide mémoire encore plus complet pour le prochain paramètre apparaît: Comme le nom du paramètre le laisse penser (Buttons), il s'agit maintenant de préciser le type de boutons qui figureront dans la boîte de dialogue. Dans la liste déroulante des types de boutons, sélectionne vbyesno afin d'obtenir les deux boutons Oui et Non. Frappe la touche de tabulation pour accepter. Frappe une virgule. La nature du paramètre suivant apparaît dans l'aide-mémoire: il s'agit du titre de la boîte de dialogue: Notions de variables en VBA 14/18

Frappe la phrase "La météo du jour". Comme il s'agit d'un texte, il ne faut pas oublier de frapper des guillemets. En VBA, tous les paramètres ne sont pas obligatoires. Dans le cadre de cette leçon, nous ne préciserons pas les paramètres ultérieurs. Frappe une parenthèse fermante pour terminer la rédaction du texte de la procédure. Vérifie que la fenêtre des Variables locales soit visible à l'écran. Exécute deux fois la macro en mode Pas à pas. A la première exécution, actionne le bouton Oui. A la deuxième exécution, le bouton Non. Sois attentif à la valeur de la variable Reponse donnée dans la fenêtre des Variables locales. La fonction MsgBox renvoie donc une valeur différente selon le bouton actionné. Cette valeur peut éventuellemênt être utilisée ensuite. Modifie la valeur du paramètre Buttons et observe la valeur retournée par la fonction selon le bouton actionné. Certaines valeurs de ce paramètre permettent d'ajouter des icones dans la boîte de dialogue: vbquestion, vbcritical. On peut additionner les arguments de manière à faire apparaître des combinaisons d'icones et de boutons: vbcritical + vbretrycancel,... Comique. J'ai envie d'essayer de cumuler vbyesno et vbyesnocancel, comme ça pour voir. Toutes les combinaisons ne sont pas possibles, question de logique. Ici, le résultat sera plutôt étonnant: seul un bouton OK apparaît. Comment faudrait-il faire pour qu'une boîte de dialogue annonce le contenu de la cellule A1? Etablis le texte de la procédure MessageCellule qui permet cela puis soumets-le au professeur. Notions de variables en VBA 15/18

Seul le bouton OK doit apparaître. 7. Interaction avec l'utilisateur: parler à l'ordinateur A ce point, nous savons comment recevoir des informations de l'ordinateur par l'intermédiaire des feuilles de calcul ou des boîtes de messages. Nous allons maintenant voir comment nous pouvons fournir des informations à l'ordinateur de manière interactive. VBA prévoit une fonction appelée InputBox et dont le rôle est de demander des informations à l'utilisateur. Comme il s'agit d'une fonction, elle demande un certain nombre de paramètres et renvoie une valeur. Si nécessaire, démarre l'éditeur de code VBA selon la méthode utilisée précédemment dans cette leçon. Dans l'éditeur, frappe le début du texte de la procédure BoîteDonnées selon le modèle suivant: Immédiatement derrière le mot InputBox, frappe une parenthèse ouvrante. Un aide-mémoire des paramètres possibles apparaît. Le premier paramètre s'appelle Prompt, comme dans le cas de la MsgBox. Frappe le message à délivrer à l'utilisateur sur le modèle ci-dessous: Frappe une virgule, suivie du titre de la boîte de dialogue "La météo du jour". Frappe une nouvelle virgule. Le paramètre suivant s'intitule Default. Il s'agit d'indiquer maintenant une réponse par défaut à la question posée: la réponse qui est prise en compte si l'utilisateur ne répond pas. Frappe le texte "Couci, couça" suivi d'une virgule. Les deux paramètres suivants intitulés XPos et YPos représentent la position de la boîte de dialogue à l'écran, exprimée en "twips". Un "twip" est une unité de mesure en typographie, définie comme un vingtième de Notions de variables en VBA 16/18

point ("twentieth of a point"). Le point est une autre unité de mesure en typographie: 1 point = 1/72e de pouce. 1 twip est donc 1/72/20 pouce = 1/1440 pouce 1 pouce = 2,54 cm, donc 1 twip = 2,54cm/1440 = 0,00176 cm Le twip est donc une très petite unité de longueur. Indique les valeurs 2000 et 3000 pour ces deux paramètres. En VBA, tous les paramètres ne sont pas obligatoires. Dans le cadre de cette leçon, nous ne préciserons pas les paramètres suivants. Frappe une parenthèse fermante pour terminer la rédaction du texte de la procédure. Vérifie que la fenêtre des Variables locales soit visible à l'écran. Exécute la macro en mode Pas à pas en modifiant la réponse par défaut: Note la valeur de la variable Reponse à l'issue de l'exécution de la procédure. Exécute une nouvelle fois la procédure en conservant la réponse par défaut. Exécute une troisième fois la procédure en donnant une autre réponse. Comment faudrait-il faire pour qu'une boîte de dialogue pose une question qui serait indiquée dans la cellule A1 d'une feuille de calculs. La réponse par défaut serait dans la cellule A2. Finalement, la nouvelle réponse viendrait remplacer l'ancienne réponse par défaut. 8. Exercices Résous les exercices suivants en respectant les contraintes qui sont données. 1. La cellule A1 d'une feuille de calcul contient une valeur. Ecrire une procédure qui envoie le contenu de A1 vers la cellule B7 sans utiliser le presse-papiers. 2. Les cellules A1 et A2 d'une feuille de calcul contiennent chacune une valeur différente. Ecrire une procédure qui réalise l'échange des contenus des deux cellules: le contenu de A1 passe en A2 et inversement. Notions de variables en VBA 17/18

3. Une procédure demande le montant d'un placement ainsi que le taux d'intérêt annuel. Elle indique en réponse la valeur du placement après un an. Cette procédure n'utilise pas les feuilles de calcul. 4. Une procédure demande les références d'une cellule de la feuille de calcul active et la valeur qu'il faut y placer. Elle place ensuite cette valeur dans la cellule demandée. Cette procédure peut-elle également fonctionner avec des plages étendues de cellules? Table des matières 1. Notion de variable en VBA...2 2. Voir les variables en coulisses...3 3. Les variables peuvent communiquer avec les feuilles de calculs...5 4. Les variables et leurs types...7 5. Examiner et modifier les propriétés des objets... 9 6. Interaction avec l'utilisateur: l'ordinateur vous parle...12 7. Interaction avec l'utilisateur: parler à l'ordinateur... 14 8. Exercices... 16 Notions de variables en VBA 18/18