Macros Visual Basic sur Excel

Slides:



Advertisements
Présentations similaires
CE QU'IL FAUT SAVOIR FAIRE AVEC UN TABLEUR :
Advertisements

Créer un lien 1-Sélectionner le texte 2-Choisir l'outil « lien »
Microsoft Excel LibreOffice Calc
Portée des variables VBA & Excel
Compétences et profil de classe
Le Clavier.
Utiliser autrement des données de Base Elèves 1) Choisir les données Base Élèves propose 3 sortes de listes, par exemple dans le menu : Elèves : Liste.
Courbes de fonctions avec Excel
TP 2 : Nos premières macros
L’enregistreur de macros
VBA / Excel TP 6 La boucle FOR.
La fonction Style Permet de créer des types de texte, par exemple
Principe de défilement du document dans un traitement de texte
le nom du logiciel et le nom du fichier s’appelle la barre des titres
Les TABLEAUX Retour au menu principal.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
12 novembre 2012 Grégory Petit
Générique d’initiales.
Septembre 2012 Présentation des cartes interactives.
Microsoft Excel Avancé
Cours de programmation
Par Fabrice Pasquier Cours IV
Initiation à la programmation
Traitement de textes WinWord 3 e année Sciences économiques, de gestion et commerciales Présenté par NEHAR Attia.
Manipulation feuille classeur
Création d'un diaporama Création d'un diaporama
28 novembre 2012 Grégory Petit
Publispostage Menu Outils / Lettres et publipostage
Points importants de la semaine Les classes et les objets. Les classes dExcel. Les objets dExcel. Les objets de la classe Range.
A la découverte de la bureautique et des fichiers.
Master 1 Sciences du Sport et du Mouvement Humain
Les structure d’un programme :
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Cour : Microsoft excel FACULTE DES SCIENCES AGADIR
Réaliser par : Moh Fakhri Slama
Le glossaire Outil qui permet d’enregistrer des mots, des portions de phrases ou des phrases que l’on tape régulièrement et que l’on pourra récupérer afin.
Algorithmes sur Open Office
Comment utiliser FrontPage?
DYALOG APL 2006 APL / OLE / Excel / Word : Dyalog APL chef d’orchestre ! 91, rue du Fb St Honoré PARIS tél. : Fax :
Programmation événementielle
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Initiation aux bases de données
Lancement de Microsoft Word
Cours LCS N°4 Présenté par Mr: LALLALI
EXCEL TICE2 Premier année de Psychologie séance 2
TICE 2 ième Semestre TD6 - Récapitulatif. Mars 2006TICE 2ième Semestre - Révisions2 Evaluation La semaine prochaine Deux demi groupes, minutes d’examen.
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
3ième Séance Formules et Fonctions
Informatique TD 1 – Semestre 1
Résolution du Problème
Une aide pour débutant éclairé
Conception des pages Web avec
QCM VBA.
Initiation aux bases de données et à la programmation événementielle
Utilisation des formules de base
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
1 Présentation de DREAMWEAVER (1) Gaël TREMEAU GI05 Printemps 2006.
Guillaume MICHAUD – Yvan LECOMTE
Dreamweaver le retour Avec Les Formulaires Les Calques
Plan de la présentation Le langage HTML Dreamweaver MX Les premiers outils pour créer une page web :  Propriétés d’une page  Création de cadres  Création.
Algorithmique Boucles et Itérations
Formation.
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
CRÉER UNE MACRO SUR EXCEL 2003 POUR COLORER UN TABLEAU Réalisation – Aude Douls.
Algorithmes sur Open Office. 1. Ouvrir Visual Basic de Open Office.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 1 Support de cours rédigé par Bernard COFFIN Université.
Introduction au WIKI Par Marc Chevarie.
Présentation Excel Microsoft Excel est le tableur de la suite bureautique propriétaire « Office System ». Développé pour les plateformes Windows et Macintosh.
Présentation de l’outil de création de progression pédagogique Un fichier Excel, 6 onglets pour générer automatiquement une progression sur le cycle 4.
Transcription de la présentation:

Macros Visual Basic sur Excel Apprentissage à partir d’exemples

Visual Basic sur Excel – Lecture d’un algorithme (macro) Ouvrir le fichier « exemples.xls » Faire « ALT F11 » pour ouvrir l’interface visual basic. Disposer les deux fenêtres comme ci-dessous. Les algorithmes (macros) se situe dans des « modules ». Double clic sur Module1 pour voir, créer ou modifier une macro. Pour créer un module : « Insertion / Module » Une macro commence par Sub suivi d’un nom avec des parenthèses et fini par End Sub.

Visual Basic sur Excel – Lecture d’un algorithme (macro) - pas à pas de la Macro1 Placer le curseur dans la Macro1. Faire « F8 » : Cela exécutera la macro ligne après ligne. La première ligne est en jaune: Sheets(« Feuil1 »).Activate s’exécutera au prochain F8. Sheets(« Feuil1 »).Activate ouvre la feuille 1: tout se fera dorénavant dans cette feuille (jusqu’au prochain Sheets().Activate). Activate est une « méthode » de l’objet Sheets. On peut remarquer que la cellule ligne 2 et colonne 3 est colorié en jaune et contient le mot essai écrit en bleu…

Visual Basic sur Excel – Lecture d’un algorithme (macro) - pas à pas de la Macro1 Cells(2,3).Clear efface tout (contenu, attribut…) de la cellule 2ème ligne, 3ème colonne. Cells(ligne,colonne) est un objet sur lequel on peut agir par des méthodes comme clear. Au lieu de cells(2,3), on peut écrire Range(« C2 »). Range est une collection (de cellules par exemple). Range(« C2 ») est la collection de cellules constitué de la seule cellule C2. Cells(2,3).Value = « abc » permet de remplir la même cellule du texte abc. Cells(2,3).Value = 125 met le nombre 125 dans cette cellule Cells(2,3).Value = « =somme(A1:B3) » met la formule dans cette cellule Value est une « propriété » de Cells: Au contraire d’une méthode, on est obligé de préciser cette propriété ( = quelque chose) x = Cells(1,1).value : place dans la variable x le contenu de la cellule 1ère ligne, 1ère colonne

Visual Basic sur Excel – Lecture d’un algorithme (macro) - pas à pas de la Macro1 Cells(2,3).Interior.ColorIndex = 3 colorie l’intérieur de la cellule en rouge (3 = rouge) Interior est membre de Range (ou Cells) et ColorIndex est une propriété de Interior. Façon anglo-saxonne de dire la couleur de l’intérieur de la cellule… Le « . » traduit en quelque sorte le lien parent/enfant. Cells(2,3).Font.Size = 14 permet de régler la taille de la fonte. Font (membre de Range ou Cells) a beaucoup de propriétés: Size, Name, Bold, Italic, Underline, Shadow …

Visual Basic sur Excel – Lecture d’un algorithme (macro) - pas à pas de la Macro1 En tapant F8 jusqu’à la fin de la macro, on mettra (dans l’ordre) la cellule * dans la police arial, * en gras (bold) * en italic . Bold et Italic sont des propriétés booléennes : elles n’ont que 2 valeurs possibles (True ou False) On peut voir les propriétés ou méthodes des différents objets avec « l’explorateur d’objets » Rechercher la classe « Font » et voir ses propriétés :

Visual Basic sur Excel – Explorateur d’’objets De même pour Range (ou Cells), on peut voir ses propriétés et ses méthodes Pour savoir à quoi cela correspond, on va voir dans l’aide. Par exemple la méthode ClearContents ClearContents efface donc le contenu de la cellule sans changer la mise en forme…

Visual Basic sur Excel – Explorateur d’’objets Dans l’aide, voir la propriété ColorIndex: A quels objets s’appliquent cette propriété? Correspondance entre couleurs et nombre: On avait vu que le rouge est 3, la table ci-dessus donne d’autres correspondances… L’aide donne de nombreux exemples qui aident beaucoup à l’écriture de macro… Sur l’exemple ci-dessus, on peut se passer de Worksheets(« Sheet1 ») signifiant dans quelle feuille du classeur on agit.

Visual Basic sur Excel – Lecture d’un algorithme (macro) - Macro1bis Légères modifications de la Macro1(): Emploi de With … Comparer les 2 macros. Souvent, quand on utilise l’enregistreur de macro, on voit ce genre de programmation. Il faut juste savoir que cela existe !

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - Une boucle FOR … NEXT La Macro2 montre l’emploi d’une boucle FOR … NEXT et le moyen d’effacer une plage de cellules Range(Cells(2,3),Cells(10,5)).Clear va effacer le pavé de cellules allant de (2,3) à (10,5). Cela efface tout (contenu et mise en forme) For i = 2 to 10 …. Next Cette structure permet de répéter plusieurs fois les instructions comprises entre le for et le next. Ici, la variable i prend successivement (à chaque boucle) les valeurs 2, puis 3, puis 4 etc jusqu’à 10 (soit 8 valeurs: l’algorithme fera 8 boucles).

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas Exécuter la macro pas à pas (F8)… La zone C2:E10 a bien été effacée. Au prochain F8, on rentre dans la boucle FOR NEXT.

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas En plaçant la souris sur i, on peut voir la valeur de cette variable: i=2 pour cette première boucle. I sera égal à 2 jusqu’au Next. Il prendra alors la valeur 3… i 5*i 2 10 En appuyant 3 fois sur F8: on place dans la cellule (2,3) la valeur 2 (car i=2) on place dans la cellule (2,4) le texte «  x 5  = » on place dans la cellule (2,5) la valeur 10 (car 5*i = 10) On arrive à NEXT. On passe à la valeur suivante de i : i sera égal à 3 quand on retournera dans la boucle. Comme 3 < 10, on poursuit dans la boucle…

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas En plaçant la souris sur i, on peut voir la valeur de cette variable: i=3 i 5*i 2 10 3 15 En appuyant 3 fois sur F8: on place dans la cellule (3,3) la valeur 3 (car i=3) on place dans la cellule (3,4) le texte «  x 5  = » on place dans la cellule (3,5) la valeur 15 (car 5*i = 15) On arrive à NEXT. On passe à la valeur suivante de i : i sera égal à 4. Comme 4 < 10, on poursuit dans la boucle etc

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas Bon an mal an (!) on arrivera à i = 10 i 5*i 2 10 3 15 …. 50 En appuyant 3 fois sur F8: on place dans la cellule (10,3) la valeur 10 (car i=10) on place dans la cellule (10,4) le texte «  x 5  = » on place dans la cellule (10,5) la valeur 15 (car 5*i = 50) On arrive à NEXT. On passe à la valeur suivante de i : i sera égal à 11. Comme 11 > 10, on sort de la boucle.

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas On en est à i = 11: Sortie de boucle i 5*i 2 10 3 15 …. 50 11 Cells(2,3).Select : sélectionne la cellule (2,3). Et c’est fini: on a écrit la table des 5

Visual Basic sur Excel – Lecture d’un algorithme - Macro2 - pas à pas Modifier cet algorithme pour obtenir la table des 8.

Visual Basic sur Excel – Lecture d’un algorithme - Macro2bis à construire Créer une nouvelle macro nommée macro2bis qui écrira la table de multiplication du nombre écrit dans la cellule (3,2) comme ci-dessous. Vous aurez besoin de: Aller chercher la valeur de la cellule (3,2) et de la mettre dans une variable (a par ex): Concaténer « x », a et « = » dans une variable b (à mettre dans la colonne 4). Attention à faire partir la table à i = 1. Quand c’est fini, faites fonctionner… Lancer la macro à partir de la feuille Excel: Créer un petit rectangle, y introduire le texte « Macro2bis» et y affecter cette macro2bis (bouton droit sur le rectangle…) et faites fonctionner cette macro,

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas Cette macro recherche concernant l’onglet « canton »réalise un filtre: Cette feuille contient un tableau (1,1):(604,4) où chaque enregistrement est une commune de Haute-Garonne avec sa population, son canton et son arrondissement. La liste des cantons par ordre alphabétique est dans (2,6):(56,6). Une zone de liste (contrôle de formulaire) associée à cette liste de cantons. La cellule (1,7) contient le numéro du canton choisi (propriété du contrôle). La cellule (2,7) contient le nom du canton choisi (formule avec index()) Quand on choisit un canton dans cette liste, cela déclenche la macro recherche qui va chercher dans le tableau les communes de ce canton et les afficher colonnes 8 et 9 avec leur population. En plus, cela affiche la population totale du canton.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On se place dans l’onglet canton.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On place dans la variable nommée « cantoncherche » le contenu de la cellule (2,7), c’est-à-dire le nom du canton sélectionné.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On efface tout de la plage (2,8):(50,9) – contenu et format.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On initialise les variables: k = Le N° de la ligne où sera écrit les résultats (nom de la commune et sa population). Au début k sera égal à 2 puis augmentera de 1 à chaque commune trouvée. Somme = population totale.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On boucle sur la variable i qui sera la ligne du tableau où on cherche le canton: On va ainsi parcourir tout le tableau à la recherche du canton «cantoncherche»

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On boucle sur la variable i qui sera la ligne du tableau où on cherche le canton: On va ainsi parcourir tout le tableau à la recherche du canton «cantoncherche» La variable prendra successivement les valeurs 2, 3, 4 … jusqu’à 604

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas Dans la variable «cantoncourant», on mettra successivement, au gré des valeurs de i: L’Isle-en-Dodon (quand i sera égal à 2), Cintegabelle (i=3), Lanta (i=4) etc.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas Si les variables cantoncherche (ici Castanet-Tolosan) et cantoncourant (L’Isle-en-Dodon quand i=2) sont égales, alors i est une ligne du tableau correspondant au canton cherché. Dans notre exemple, le premier i convenable est 24: Aureville est dans le canton Castanet-Tolosan.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas k=i i=i Dans ce cas (où la ligne i est convenable, ici i=24), il faut marquer le nom de la commune trouvée, ici Aureville (qui est en (i,3) dans la cellule (k,8).

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas k=i i=i De même, il faut marquer la population de la commune trouvée, ici 731 (qui est en (i,4) dans la cellule (k,9).

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas i=i Et on augmente la variable somme (population totale du canton) de la population de la commune trouvée,

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas k=i Et on incrémente de 1 la variable k: la prochaine ligne où on écrira la prochaine commune trouvée sera la ligne 3,

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On sort du test.

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On passe au i suivant: Voyons dans la prochaine ligne du tableau si le canton convient... Si i = 605, on sort de la boucle For … Next: On a fini notre recherche de canton

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas k=i Il nous reste à écrire (en passant une ligne: ligne k+1) le mot total dans la cellule (k+1,8) la population totale du canton (variable somme) dans la cellule (k+1,9)

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas On modifie le format de la plage correspondant au total: La police sera en arial 14 gras italique

Visual Basic sur Excel – Lecture d’un algorithme - Macro recherche - pas à pas L’algorithme est fini.

FIN