cour vba excel

Programmation VBA/Excel Programmation VBA Pierre BONNET Masters SMaRT & GSI Bonnet 21 – Supewislon Industrielle – 2012-2013 La programmation VBA Sni* to View Historiquement, la pr fonction d’automatis I avait comme une succession d’actions raites dans la feuille à l’aide de la souris.

D’où la notion de Macro Excel Le langage initial était spécifique (versions en Anglais et en Français) A partir d’Excel 97, abandon du langage spécifique pour un langage unique adoptant la syntaxe du Basic : Visual Basic for Application VBA Cest un enrichissement de VB par des fonctions spécifiques ? haque application (Excel, Word, Access…. ). http://morpheus. developpez. com/vst02/ RunTime VBA Bibliothèque de base Office Code intermédiaire MSIL FrameWork . net Framework . net Machine virtuelle CLR Common Langage RunTime Environnement de développement VB.

NET, C+ *. NET, Java, python.. http://fr. wikipedla. org/wiki/. NET Masters SMaRT & GSI – Supewision Industrielle – 24 Variables Cl Déclaration implicite 2012-2013 Par défaut, l’usage d’une variable dans une affectation tient lieu de déclaration (comme en Matlab) Le type affecté est déterminé automatiquement par l’évaluation e la partie droite de l’évaluation Daneer de l’absence de dé te erreur de frappe du d’une donnée numérique en Boolean par la fonction Cbool exemple : A – CBool(10) ‘A prend la valeur True.

Cl Byte, Integer, Long Types de données entiers 8, 16 ou 32 bits . Conversion d’ une donnée numérique en Byte, utilisez la fonction CByte, idem pour les autres types . Attention : l’adressage des lignes xls doit se faire en type long (valeur éventuellement supérieure ? 32 767) Single, Double Caractérise les nombres réels (ou flottants) simple et double preclslon Masters SVIaRT & GSI – supervision Industrielle 2012-2013 – P. 6 String * Les chaînes de longueur contenir de 1 à 2A16 dynamique avec redimensionnement Dim Karnaugh() as boolean ReDim Karnaugh(20) attention, les anciennes valeurs sont effacées (utiliser ReDim Preserve) le type ne peut pas être modifié (sauf dans le cas d’un tableau de variant) Le type Array permet de créer une liste de valeurs [de type tableau de variant] MonTableau « b », « c ») Masters SMaRT & GSI – supervision Industrielle – 2012-2013 – 28 Variant Variant est le type de données attribué à toutes les variables qui ne sont pas explicitement éclarées comme étant d’un autre type (à l’aide d’instructions telles que Dim, private, public ou Static). Le type de données Variant ne possède aucun caractère de déclaration de type. Variant est un type de données spécial pouvant contenir des données de toutes sortes, ? l’exception des données de type String de longueur fixe.

La valeur Empty désigne une variable de type Variant qui n’a pas été initialisée (c’est-à-dire ? laquelle aucune valeur initiale n’a été affectée). Un variant peut aussl contenir la valeur Null ou Error Lorsqu’un variant contenant une chaîne est utilisé dans une pération requérant un type numérique, le variant est automati uement converti en nombre. Exemple: les heures allant de Le type date est stocké dans un double. La partie entière correspond au nombre de jours écoulés depuls le 1er Janvier 1900; la partie fractionnaire correspond à la fraction de jour écoulée (1h = 1/24 de jour, 1 mn = 1/(24×60) de jour , IS de jour).

Exemple : Dim ma date As Date Dim mon heure, ma dateheure As Double ma date « 1 6/09/2008 » mon_heure = ‘une demi-journée de plus soit 12H ma dateheure = ma date 4 mon heure Cells(3, 1) = ma_dateheure donne comme résultat 6/09/08 1 2:00 PM (dépend du format d’affichage choisi) – la conversion de type est implicite depuis le format chaine. – utilisez la fonction lsDate pour savoir si une valeur variant peut être convertie en date ou en heure. – VBA propose des fonctions de conversion (DateSerial , TimeSerial) Masters SMaRT & GSI – Supervision Industrielle – 2012-2013 30 programmation VBA/Excel n Type utilisateur Un type utilisateur définit une structure contenant les types de base. Supervision Industrielle 31 P.

Bonnet Type Objet Un objet [ou classe] est une variable structurée permettant de manipuler des concepts évolués. Les valeurs associées à un objet s’appellent des paramètres , les fonctions appliquées à un classe sont des méthodes pour pouvoir utiliser un objet, il faut commencer par le déclarer puis l’instancier : ou Dim monobjet As Maclasse Set monObjet = New MaClasse monobjet. paraml = 10 monObjet. Afficher Dim monobjet As New Maclasse Lorsque l’objet n’est pas instancié mais seulement déclaré, il est alors équivalent à « Nothing » Destruction d’un objet Set monobjet Nothing Il existe de nombreux objets prédéfinis dans Excel : WorkBook, Range Masters SMaRT & GSI – Supervislon Industrielle – 2012-2013 – P. 32