La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Initiation à la programmation À travers VBA. Que fait-on habituellement avec EXCEL : Tableur ? Tableur : objectif calcul – Graphique Calcul Simple (on.

Présentations similaires


Présentation au sujet: "Initiation à la programmation À travers VBA. Que fait-on habituellement avec EXCEL : Tableur ? Tableur : objectif calcul – Graphique Calcul Simple (on."— Transcription de la présentation:

1 Initiation à la programmation À travers VBA

2 Que fait-on habituellement avec EXCEL : Tableur ? Tableur : objectif calcul – Graphique Calcul Simple (on met = devant pour dire que cest un calcul : on lappelle une formule). Complexe (on fait référence à dautres cellule dans une cellule de manière absolue ou relative) Très complexe (on fait appel à des fonctions préprogrammés pour obtenir un résultat). Exemple faire une facture.

3 Excel : outil puissant, cependant des limites… en apparence! On peut combiner les fonctions… Faire appel à dautres feuilles, voir dautres fichiers… Mais on ne peut pas faire deux choses à la fois… Exemple : faire une facture avec remise

4 Apparence parfois trompeuse… Excel : un vrai outil de développement ! Langage de programmation : VBA – Visual Basic Application : le langage de Microsoft. Quest-ce quun langage de programmation ? Allons voir la facture avec mise en forme…

5 Comment réfléchir correctement pour faire un module cohérent? Avant de ce lancer sur lécriture dun module, toujours réfléchir à la décomposition de laction à faire… Cest laffinage successif… Prendre un papier un crayon et écrire les différentes étapes à effectuer : Cest lalgorithme général Quest-ce quun langage de programmation ? Allons voir la facture avec mise en forme…

6 Quand utiliser cet outil? Quand on ne peut pas sen sortir avec les outils préprogrammés (formules, fonctions, macro simple ….)

7 Comment utiliser cet outil? Prendre le temps de réfléchir à ce que lon veut faire. – Dans notre exemple : Nous avons deux éléments à prendre en compte : 1: calculer la remise globale en fonction des remises individuelles. 2: mettre la ligne de la facture à la couleur du type de produit facturé. Toutes les parties qui ne peuvent pas être faite directement dans les cellules doivent faire lobjet dune réflexion détaillée sur les différentes étapes à effectuer pour parvenir à nos fin : cest laffinage successif. – Dans notre exemple : La partie 1 est faisable directement dans les cellules… On doit donc réfléchir que sur la partie 2 : on décompose le problème en un ensemble dinstruction qui se suivent : cest lalgorithme général Prendre la première ligne de la facture, Récupérer le codeType de la ligne, Rechercher la couleur dans la table type qui correspond à ce type Mettre la couleur sur lensemble de la ligne de la facture Passer à la ligne suivante et faire la même chose jusquà ce quil ny ai plus de ligne

8 Comment utiliser cet outil? Prendre lalgorithme général et le transformer en instruction ligne à ligne : cest lalgorithme : – Dans notre exemple : Tant Que il y a des lignes à traiter dans le tableau Faire Récupère le codeProduit Récupérer le codeType qui correspond au produit Je positionner sur la 1 ère ligne de la table des typeProduit Tant Que il y a des lignes dans la table des TypesProduits Faire Si le codeTypeProduit de la ligne est le même que le codeTypeProduit du produit Alors » Je récupère la couleur du type » Je mets la couleur dans toute la ligne Fin de la condition Passer à la ligne suivante Fin du parcours de la table TypeProduit Passer à la ligne suivante dans la facture Fin du parcours de la facture

9 Prendre lalgorithme et le traduire en langage de programmation : – Dans notre exemple : Dim codeProduit As Integer Dim typeProduit As Integer Dim tauxRemise As Integer Dim totalRemise As Double Dim numLigneFacture As Integer Dim j, i, codeType, codeTypeCourant, couleur, ligneFacture, numLigne As Integer 'Je parcours l ensemble des lignes du tableau des factures et pour chacune d'entres elles je fais : j = 1 numLigneFacture = 10 While j <= 14 ' Je récupère le code du produit, et le codeType du produit, je garde l'ensemble dans des variables. codeProduit = Cells(numLigneFacture, 1).Value codeType = Cells(numLigneFacture, 6).Value ' je recherche la couleur en fonction du code type du produit ' Parcourir le tableau des type de produit ' si le code type sur lequel je suis est le même que celui que je recherche ' je récupère la couleur de la cellule du taux de remise qui correspond ' je donne la même couleur à la cellule code produit. i = 1 numLigne = 12 While i <= 2 codeTypeCourant = Cells(numLigne, 11) If codeType = codeTypeCourant Then couleur = Cells(numLigne, 13).Interior.ColorIndex Cells(numLigneFacture, 1).Interior.ColorIndex = couleur Cells(numLigneFacture, 2).Interior.ColorIndex = couleur Cells(numLigneFacture, 3).Interior.ColorIndex = couleur Cells(numLigneFacture, 4).Interior.ColorIndex = couleur Cells(numLigneFacture, 5).Interior.ColorIndex = couleur End If i = i + 1 numLigne = numLigne + 1 Wend j = j + 1 numLigneFacture = numLigneFacture + 1 Wend Comment utiliser cet outil?

10 Les bases de la programmation A chacune des feuilles, je peux associer un espace où faire de la programmation : Les Modules On récupère les données dans des Variables. Une variable est donc un espace mémoire où on stocke des données. On doit déclarer une variable en lui donnant un nom et un type On doit toujours déclarer une variable avant de lutiliser. Syntaxe VBA : DIM NOMVARIABLE AS TYPE – Les différents types les plus courants sont : integer, double ou string – Si on réfléchie sous forme papier on écrit NomVariable : type;

11 Les bases de la programmation En langage VBA Afficher un message à lécran : – Simple message : Msgbox(Message) – Message avec une variable : Msgbox(message,nomVariable Récupérer le contenu dune cellule : – NomVariable = cells(N°lig,N°col).Value En Algorithme Afficher un message à lécran : – Simple message : Afficher (Message) – Message avec une variable : Afficher(message,nomVariable Récupérer une valeur saisie au clavier : – Lire (nomVariable)

12 Les bases de la programmation En langage VBA Mettre un contenu dans une variable : – Le contenu dune cellule : nomVariable = cells(n°lig,n°col).value – Le contenu dautres variables : nomVariable = nomVar1 + nomVar2 En Algorithme Mettre un contenu dans une variable : – Le contenu dune valeur : nomVariable 3+2 – Le contenu dautres variables : nomVariable nomVar1 + nomVar2

13 Les bases de la programmation En langage VBA Faire une boucle : While condition instruction wend En Algorithme Faire une boucle : TQ condition FRE instruction FTQ On regarde la condition, si elle est remplie on fait les instructions dans la boucle. Arrivée à la fin de la boucle on remonte sur la condition. Attention il faut que la condition change dans la boucle sinon on ne sarrête jamais.

14 Les bases de la programmation En langage VBA Faire une condition : If condition then instructions Else instructions End if En Algorithme On regarde la condition, si elle est remplie on fait les instructions dans la condition.. Attention on peut avoir une condition complexe avec des ET et des OU. On peut ne pas avoir de SINON, on peut aussi imbriquer les SI les uns dans les autres. Faire une condition : SI condition ALORS instructions SION instructions FSI


Télécharger ppt "Initiation à la programmation À travers VBA. Que fait-on habituellement avec EXCEL : Tableur ? Tableur : objectif calcul – Graphique Calcul Simple (on."

Présentations similaires


Annonces Google