Télécharger la présentation
1
Initiation à la programmation
À travers VBA On utilise tous des logiciels pour faire des traitements : dans la vie quotidienne : sms; jeux, facebook; site internet… dans la vie professionnelle : logiciel de comptabilité, de gestion…. Tous ces logiciels sont l ’œuvre de programmeur. Ils utilisent des langages de programmation pour créer les programmes… On les utilisent uniquement.
2
Que fait-on habituellement avec EXCEL : Tableur ?
Tableur : objectif calcul – Graphique Calcul Simple (on met = devant pour dire que c’est un calcul : on l’appelle une formule). Complexe (on fait référence à d’autres 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. Prenons EXCEL, c’est un logiciel que nous connaissons tous. Il permet de faire des calculs. Les comptables ont l’habitude de l’utiliser pour faire des calculs complexes… ou simple. La secrétaire l’utilise comme un outil de bureautique (graphique, tableau, mise en forme) Le comptable comme un outil de calcul (statistique, tableaux de bords) Le gestionnaire comme un outil d’automatisation des tâches (fonctions avancés de programmation à travers VBA). Passer sur Excel pour faire un appel des fonctions de base avec la facture de base.
3
Excel : outil puissant, cependant des limites… en apparence!
On peut combiner les fonctions… Faire appel à d’autres feuilles, voir d’autres fichiers… Mais on ne peut pas faire deux choses à la fois… Exemple : faire une facture avec remise On peut donc faire des choses très simples, mais aussi arriver à faire des choses complexes à partir de se que l’on connait. Prendre l’exemple de la facture avec remise : Montrer que l’on peut, a partir des rechercheV et de différents calcul, faire des traitements compliqués… Remise globale. Mais on ne peut pas faire la mise en forme…. Cela c’est impossible : Conclure que si on veut mettre en forme des cellules en fonction de contenu pris sur des fonctions…. Non automatisable simplement. Je ne peux pas mettre une couleur sur la ligne de manière automatique….
4
Apparence parfois trompeuse…
Excel : un vrai outil de développement ! Langage de programmation : VBA Visual Basic Application : le langage de Microsoft. Qu’est-ce qu’un langage de programmation ? Allons voir la facture avec mise en forme… Puisqu’on peut pas le faire directement dans une cellule, on peut ajouter un espace dans lequel on va pouvoir faire un programme à une feuille. Prendre la facture avec mise en forme et montrer le module : expliquer le fonctionnement.
5
Comment réfléchir correctement pour faire un module cohérent?
Avant de ce lancer sur l’écriture d’un module, toujours réfléchir à la décomposition de l’action à faire… C’est l’affinage successif… Prendre un papier un crayon et écrire les différentes étapes à effectuer : C’est l’algorithme général Qu’est-ce qu’un langage de programmation ? Allons voir la facture avec mise en forme… Après avoir expliquer le fonctionnement du module, je donne des explications sur le mode de fonctionnement des algorithmes.
6
Quand utiliser cet outil?
Quand on ne peut pas s’en 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 l’on 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 l’objet d’une réflexion détaillée sur les différentes étapes à effectuer pour parvenir à nos fin : c’est l’affinage 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 d’instruction qui se suivent : c’est l’algorithme 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 l’ensemble de la ligne de la facture Passer à la ligne suivante et faire la même chose jusqu’à ce qu’il n’y ai plus de ligne
8
Comment utiliser cet outil?
Prendre l’algorithme général et le transformer en instruction ligne à ligne : c’est l’algorithme : 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
Comment utiliser cet outil?
Prendre l’algorithme 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
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 l’utiliser. 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 En Algorithme Afficher un message à l’écran : Simple message : Msgbox(‘’Message’’) Message avec une variable : Msgbox(‘’message’’,nomVariable Récupérer le contenu d’une cellule : NomVariable = cells(N°lig,N°col).Value 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 En Algorithme Mettre un contenu dans une variable : Le contenu d’une cellule : nomVariable = cells(n°lig,n°col).value Le contenu d’autres variables : nomVariable = nomVar1 + nomVar2 Mettre un contenu dans une variable : Le contenu d’une valeur : nomVariable 3+2 Le contenu d’autres variables : nomVariable nomVar1 + nomVar2
13
Les bases de la programmation
En langage VBA En Algorithme Faire une boucle : While condition instruction wend 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 s’arrête jamais.
14
Les bases de la programmation
En langage VBA En Algorithme Faire une condition : If condition then instructions Else End if Faire une condition : SI condition ALORS instructions SION FSI 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.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.