Différences entre versions de « Algorithmique et programmation VBA »
(70 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 29 : | Ligne 29 : | ||
|Domaine-Discipline-Thématique-2= Algorithmique | |Domaine-Discipline-Thématique-2= Algorithmique | ||
|Domaine-Discipline-Thématique-3= Programmation | |Domaine-Discipline-Thématique-3= Programmation | ||
− | |Domaine-Discipline-Thématique-4= | + | |Domaine-Discipline-Thématique-4= Mathématique |
− | |Domaine-Discipline-Thématique-5= | + | |Domaine-Discipline-Thématique-5= Pensée logique |
− | |Domaine-Discipline-Thématique-6= | + | |Domaine-Discipline-Thématique-6= Robotique |
− | |Domaine-Discipline-Thématique-7= | + | |Domaine-Discipline-Thématique-7= Bio-informatique |
− | |Domaine-Discipline-Thématique-8= | + | |Domaine-Discipline-Thématique-8= Indexation automatique sur Internet |
− | |Domaine-Discipline-Thématique-9= | + | |Domaine-Discipline-Thématique-9= Commerce électronique |
− | |Domaine-Discipline-Thématique-10= | + | |Domaine-Discipline-Thématique-10= Gestion de mémoires |
− | + | |Domaine-Discipline-Thématique-11= Intelligence artificielle | |
+ | |Domaine-Discipline-Thématique-12= Automatisation des tâches | ||
+ | |Domaine-Discipline-Thématique-13= IoT | ||
+ | |Domaine-Discipline-Thématique-14= Théorie des graphes | ||
+ | |Domaine-Discipline-Thématique-15= Programmation événementielle | ||
}}<!--****************** Fin modifications: Fiche-Disciplines-Thématiques *****************************--> | }}<!--****************** Fin modifications: Fiche-Disciplines-Thématiques *****************************--> | ||
Ligne 48 : | Ligne 52 : | ||
|Définition= <!-- Ne pas Modifier --> | |Définition= <!-- Ne pas Modifier --> | ||
<!-- *************** Commercez les modifications *******************--> | <!-- *************** Commercez les modifications *******************--> | ||
− | |||
− | |||
− | |||
+ | * '''<span style="color:#009900"> L'algorithmique</span>''' est la discipline qui s'intéresse aux algorithmes. | ||
+ | * '''<span style="color:#009900"> Un algorithme</span>''' est une suite d'opérations (dites instructions) qui décrivent la solution d'un problème informatique posé. Il s'agit du plan ou la structure d'un programme informatique. | ||
+ | * Un algorithme est'''<span style="color:#009900"> indépendant de tout langage de programmation</span>''', mais il est étroitement lié à celui-ci car il en constitue '''<span style="color:#009900"> la logique</span>'''. | ||
+ | * Le '''<span style="color:#009900"> VBA</span>''' ('''<big><span style="color:#009900"> V</span></big>'''isual '''<big><span style="color:#009900"> B</span></big>'''asic for '''<big><span style="color:#009900"> A</span></big>'''pplications) est un langage proche du Visual Basic qui nécessite une application hôte pour s'exécuter. | ||
<!-- ******** Fin Définition Générale ***************************** --> | <!-- ******** Fin Définition Générale ***************************** --> | ||
Ligne 58 : | Ligne 63 : | ||
|Typologie= <!------------------------------------ Ne pas Modifier --> | |Typologie= <!------------------------------------ Ne pas Modifier --> | ||
<!-- ****************** Commercez les modifications ****************--> | <!-- ****************** Commercez les modifications ****************--> | ||
− | + | ♦ '''<big><span style="color:#CC00FF">Un algorithme</span></big>''' est une procédure de calcul bien définie qui prend en entrée un ensemble de valeurs et qui délivre en sortie un ensemble de valeurs.<p> | |
− | .. | + | ♦ Une valeur particulière de l'ensemble des valeurs données en entrée est appelée '''<big><span style="color:#CC00FF">instance</span></big>'''du problème.<p> |
− | . | + | ♦ Un algorithme est '''<big><span style="color:#CC00FF">correct</span></big>''', si pour toute instance du problème il se termine et produit une sortie correcte.<p> |
− | . | + | ♦ '''<big><span style="color:#CC00FF">Une heuristique</span></big>''' est une procédure de calcul correcte pour certaines instances du problème (c'est-à-dire se termine ou produit une sortie correcte).<p> |
− | + | ♦ '''<big><span style="color:#CC00FF">Une structure de données</span></big>'''est un moyen de stocker et d'organiser des données pour faciliter leur stockage, leur utilisation et leur modification.<p> | |
− | + | ♦ '''<big><span style="color:#CC00FF"> L'efficacité </span></big>'''d'un algorithme est mesurée par son '''<big><span style="color:#CC00FF">coût</span></big>''' ('''<big><span style="color:#CC00FF">complexité</span></big>''') en temps et en mémoire.<p> | |
− | + | ♦ Un problème '''<big><span style="color:#CC00FF">NP-complet</span></big>''' est un problème pour lequel on ne connaît pas d'algorithme correct efficace, c'est-à-dire réalisable en temps et en mémoire. Le problème le plus célèbre est '''le problème du voyageur de commerce'''.<p> | |
+ | [[Fichier:Tsp.gif|vignette|gauche|Problème NP-complet]] | ||
+ | [[Fichier:ia.gif|vignette|centré|IA]] | ||
+ | [[Fichier:imgcode.jpg|vignette|centré|Exemplecode ALGO_VBA]] | ||
+ | |||
+ | |||
}}<!-- ******** Fin Fiche Didactique Définition ******************* --> | }}<!-- ******** Fin Fiche Didactique Définition ******************* --> | ||
== {{Widget:Definition-graphique-Fiche}} == | == {{Widget:Definition-graphique-Fiche}} == | ||
− | + | {{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1XT5TFPZ8-86D7H9-Q51CZK Carte conceptuelle : Algorithmique et programmation VBA] | |
+ | {{cc}} [https://didactique.info/formation/course/view.php?id=423 Didactique.info : Algorithmique et programmation VBA].<span style="color:#009900"> Pour s'inscrire dans le cours, veuillez saisir la clé suivante: (<i>cliquez sur l'image pour agrandir</i>) | ||
+ | <gallery></span> | ||
+ | INSC.JPG|Algo_VBA_Didactique.info | ||
+ | </gallery> | ||
<!-- ************************* Début ****************************** --> | <!-- ************************* Début ****************************** --> | ||
{{Fiche Didactique Media <!-------------------------------------------> | {{Fiche Didactique Media <!-------------------------------------------> | ||
Ligne 79 : | Ligne 93 : | ||
<!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées--> | <!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées--> | ||
− | Image: | + | |
− | Image: | + | Image:Exemplealg.JPG |Exemple code |
− | Image: | + | Image:algosbg.png|Algorithmique |
+ | Image:VBA-Programming.png|Programmer en VBA | ||
+ | Image:formsbg.jpg|Créer une interface via VBE | ||
</gallery><!-- ************** Fin modification images***************************--> | </gallery><!-- ************** Fin modification images***************************--> | ||
Ligne 107 : | Ligne 123 : | ||
<!----------------- Commencez les modifications des Mots Clés ---------------------> | <!----------------- Commencez les modifications des Mots Clés ---------------------> | ||
− | |Mot-Clé-1= | + | |Mot-Clé-1= Structures de données séquentielles |
− | |Mot-Clé-2= | + | |Mot-Clé-2= Structures de données linéaires |
− | |Mot-Clé-3= | + | |Mot-Clé-3= Allocation de mémoires |
− | |Mot-Clé-4= | + | |Mot-Clé-4= Récursivité |
− | |Mot-Clé-5= | + | |Mot-Clé-5= Programmation événementielle |
− | |Mot-Clé-6= | + | |Mot-Clé-6= Programmation modulaire |
− | |Mot-Clé-7= | + | |Mot-Clé-7= Passage par valeur |
− | |Mot-Clé-8= | + | |Mot-Clé-8= Passage par référence |
− | |Mot-Clé-9= | + | |Mot-Clé-9= Excel |
− | |Mot-Clé-10= | + | |Mot-Clé-10= Pensée logique |
− | + | |Mot-Clé-11= Macros-commandes | |
+ | |Mot-Clé-12= Raisonnement | ||
+ | |Mot-Clé-13= Logique | ||
+ | |Mot-Clé-14= Mathématique | ||
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************--> | }}<!-- ********************* FIN Fiche Didactique Mots-clés *******************--> | ||
− | |||
= {{Widget:Exemples-applications-utilisations-Fiche}} = | = {{Widget:Exemples-applications-utilisations-Fiche}} = | ||
Ligne 131 : | Ligne 149 : | ||
<!-- ****************** Commercez les modifications *********************** --> | <!-- ****************** Commercez les modifications *********************** --> | ||
− | *.. | + | * les algorithmes de machine learning: Le Machine Learning ou apprentissage automatique est un domaine scientifique, et plus particulièrement une sous-catégorie de l’intelligence artificielle. :* :* Elle consiste à laisser des algorithmes découvrir des ” patterns “, à savoir des motifs récurrents, dans les ensembles de données. Ces données peuvent être des chiffres, des mots, des images, des statistiques… |
− | + | * La cryptographie | |
− | + | * L'intelligence artificielle | |
− | + | * La santé | |
− | * | + | * L'économie |
− | + | * Le Web : | |
− | + | Exemples : '''PageRank''' de Google | |
− | + | '''la Timeline''' de Facebook | |
+ | * Utilisation optimale des ressources | ||
+ | Exemple : l’algorithme de '''Round Robin''' | ||
}}<!--************** Fin Fiche Didactique Explicitations ******************* --> | }}<!--************** Fin Fiche Didactique Explicitations ******************* --> | ||
− | |||
= {{Widget:Erreurs-confusions-Fiche}} = | = {{Widget:Erreurs-confusions-Fiche}} = | ||
Ligne 152 : | Ligne 171 : | ||
<!-- ****************** Commercez les modifications *************************--> | <!-- ****************** Commercez les modifications *************************--> | ||
− | * Confusion entre [[. | + | * Confusion entre [[syntaxe algorithmique - syntaxe VBA]] |
− | * Confusion entre [[ | + | * Confusion entre [[VB.net - VBA]] |
− | * Erreur | + | * Confusion entre [[langage compilé - langage pseudo-compilé - langage interprété ]] |
− | + | * Confusion entre [[Fonction - Procédure]] | |
+ | * Confusion entre [[Byref - Byval]] | ||
+ | * Confusion entre [[Notation mathématique - Notation algorithmique]] | ||
+ | * Erreurs fréquentes: | ||
+ | # Incompatibilité de type | ||
+ | # Erreur de compilation | ||
+ | ''exemples:'' | ||
+ | * ''séparateur de liste superflu ou manquant'' | ||
+ | * ''syntaxe de structure (if, while, Do..Loop until etc. erronée)'' | ||
+ | # Initialisation du compteur | ||
+ | # Choix de la strucure de contrôle | ||
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> | }}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> | ||
Ligne 167 : | Ligne 196 : | ||
<!-- ************ Commercez les modifications *********************--> | <!-- ************ Commercez les modifications *********************--> | ||
− | * [[ | + | * [[A quoi servent les algorithmes ]]? |
− | * [[ | + | * [[Quel sont les types d'algorithmes ]]? |
− | * [[ | + | * [[Quelle est la différence entre algorithme et programme]]? |
+ | * [[C'est quoi la programmation VBA ]]? | ||
+ | * [[VBA est un langage compilé, interprété ou pseudo-compilé]]? | ||
+ | * [[Quelle est la différence entre la programmation des tâches et les interfaces graphiques sous VBA]]? | ||
+ | * [[Comment intégrer des fonctions personnalisées aux fonctions prédéfinies sous VBE]]? | ||
+ | * [[Comment concevoir des algorithmes éthiques (IA) ?]]? | ||
+ | * [[Quel futur pour les algorithmes ]]? | ||
}}<!-- ******** Fin Fiche Didactique Questions ******************* --> | }}<!-- ******** Fin Fiche Didactique Questions ******************* --> | ||
Ligne 185 : | Ligne 220 : | ||
<!-- ****************** Commercez les modifications ************************** --> | <!-- ****************** Commercez les modifications ************************** --> | ||
− | * | + | * Les notions sont abstraites |
− | :* | + | :* Apprentissage difficile |
− | * | + | * S'initier à une réflexion sur l'enseignement de la pensée informatique |
− | :* | + | :* indépendamment de la discipline informatique |
+ | * Maîtriser les notions mathématiques | ||
}}<!-- ************************* Fin Idées-Enseignement ********************** --> | }}<!-- ************************* Fin Idées-Enseignement ********************** --> | ||
− | |||
== {{Widget:Aides et astuces-Fiche}} == | == {{Widget:Aides et astuces-Fiche}} == | ||
Ligne 202 : | Ligne 237 : | ||
<!-- ****************** Commercez les modifications ************************** --> | <!-- ****************** Commercez les modifications ************************** --> | ||
− | * ......... | + | * Forcez-vous à déclarer toute vos variables VBA. Cela peut paraître contraignant, mais finalement il n’y a que des avantages : |
− | :* .. | + | :* Les erreurs seront plus facilement identifiées, |
− | * .. | + | :* Le code sera plus propre chacune des variables étant clairement définies, |
− | :* .. | + | :* Votre macro VBA sera plus facilement modifiable et adaptable. |
− | + | * Ils existent deux solutions vous obligeant de déclarer toutes les variables : | |
+ | :* Option Explicit | ||
+ | :* Option Explicit par défaut : Une autre astuce VBA est de rendre cette mention par défaut. Pour ce faire, il suffit dans la fenêtre de l’éditeur, d’ouvrir le menu options (barre des menus / outils) puis de cocher la case Déclaration des variables obligatoire. La commande sera ensuite automatiquement intégrée à vos modules. | ||
+ | * Mettre à jour l’écran | ||
+ | :* Pour rendre vos macros un peu plus rapides, utilisez la commande ci-dessous. Grâce à elle, vous ne verrez plus chaques actions de votre macro et votre écran restera fix. | ||
+ | :* Inscrivez ce bout de code au début de votre macro ou de votre module pour qu’il fonctionne: Application.ScreenUpdating = False | ||
+ | * Les calculs automatiques | ||
+ | :* Si votre macro VBA va modifier des données qui sont utilisées par des formules, Excel va effectuer les calculs de vos cellules en même temps que la macro tourne. | ||
+ | :* Pour éviter à votre ordinateur de tout faire en même temps et donc de ralentir, inscrivez les deux mentions ci-dessous. La 1ère désactive les calculs automatiques et la seconde les réactive. | ||
+ | : | ||
+ | :* Application.Calculation = xlCalculationManual 'inscrire au début de votre code. | ||
+ | :* Application.Calculation = xlCalculationAutomatic 'inscrire à la fin de votre macro. | ||
}}<!-- ************************* Fin Astuces-Enseignement ********************** --> | }}<!-- ************************* Fin Astuces-Enseignement ********************** --> | ||
Ligne 217 : | Ligne 263 : | ||
<!-- ****************** Commercez les modifications ************--> | <!-- ****************** Commercez les modifications ************--> | ||
− | :* ...... | + | :* https://www.chiny.me/algorithmique-apprendre-a-ecrire-les-algorithmes-17.php#:~:text=Un%20algorithme%20est%20une%20suite,il%20en%20constitue%20la%20logique |
− | :* .. | + | :* https://www.tutorialspoint.com/vba/index.htm |
− | :* .. | + | :* https://www.cours-gratuit.com/algorithmique/exercice-algorithme-fonctions-et-procedures |
+ | :* https://pdfprof.com/Cours_Telecharger_Exercices_3.php?q=vba+excel+2016+-+cr%C3%A9ez+des+applications+professionnelles+exercices+et+corrig%C3%A9s+pdf | ||
}}<!-- ************ Fin Liens Education ********************** --> | }}<!-- ************ Fin Liens Education ********************** --> | ||
Ligne 232 : | Ligne 279 : | ||
<!-- Complétez les pointillés et Supprimez les lignes non utilisées -----> | <!-- Complétez les pointillés et Supprimez les lignes non utilisées -----> | ||
<!-- ****************** Commercez les modifications *********************--> | <!-- ****************** Commercez les modifications *********************--> | ||
− | + | ||
− | * . | + | * https://openclassrooms.com/fr/courses/4366701-decouvrez-le-fonctionnement-des-algorithmes |
− | + | * http://eric.univ-lyon2.fr/~ricco/cours/cours_excel.html | |
− | * ... | + | * https://algo.developpez.com/tutoriels/initiation/#LXIII |
− | * .. | ||
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | }}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | ||
{{Widget:Fiche-Conceptuelle-Bas}} | {{Widget:Fiche-Conceptuelle-Bas}} |
Version actuelle datée du 8 juin 2022 à 20:32
Votre Publicité sur le Réseau |
Traduction
Algorithmique et programmation VBA (Français)
/ Algorithmic and programming VBA (Anglais)
/ VBA الخوارزميات والبرمجة (Arabe)
Traductions
Définition
Domaine, Discipline, Thématique
Informatique / Algorithmique / Programmation / Mathématique / Pensée logique / Robotique / Bio-informatique / Indexation automatique sur Internet / Commerce électronique / Gestion de mémoires / Intelligence artificielle / Automatisation des tâches / IoT / Théorie des graphes / Programmation événementielle /
Justification
Définition écrite
- L'algorithmique est la discipline qui s'intéresse aux algorithmes.
- Un algorithme est une suite d'opérations (dites instructions) qui décrivent la solution d'un problème informatique posé. Il s'agit du plan ou la structure d'un programme informatique.
- Un algorithme est indépendant de tout langage de programmation, mais il est étroitement lié à celui-ci car il en constitue la logique.
- Le VBA ( Visual Basic for Applications) est un langage proche du Visual Basic qui nécessite une application hôte pour s'exécuter.
♦ Un algorithme est une procédure de calcul bien définie qui prend en entrée un ensemble de valeurs et qui délivre en sortie un ensemble de valeurs. ♦ Une valeur particulière de l'ensemble des valeurs données en entrée est appelée instancedu problème. ♦ Un algorithme est correct, si pour toute instance du problème il se termine et produit une sortie correcte. ♦ Une heuristique est une procédure de calcul correcte pour certaines instances du problème (c'est-à-dire se termine ou produit une sortie correcte). ♦ Une structure de donnéesest un moyen de stocker et d'organiser des données pour faciliter leur stockage, leur utilisation et leur modification. ♦ L'efficacité d'un algorithme est mesurée par son coût (complexité) en temps et en mémoire. ♦ Un problème NP-complet est un problème pour lequel on ne connaît pas d'algorithme correct efficace, c'est-à-dire réalisable en temps et en mémoire. Le problème le plus célèbre est le problème du voyageur de commerce.
|
Algorithmique et programmation VBA - Historique (+)
Définition graphique
Carte conceptuelle : Algorithmique et programmation VBA
Didactique.info : Algorithmique et programmation VBA. Pour s'inscrire dans le cours, veuillez saisir la clé suivante: (cliquez sur l'image pour agrandir)
Concepts ou notions associés
Algorithmique et programmation VBA - Glossaire / (+)
Exemples, applications, utilisations
Exemples : PageRank de Google la Timeline de Facebook
Exemple : l’algorithme de Round Robin |
Erreurs ou confusions éventuelles
- Confusion entre syntaxe algorithmique - syntaxe VBA
- Confusion entre VB.net - VBA
- Confusion entre langage compilé - langage pseudo-compilé - langage interprété
- Confusion entre Fonction - Procédure
- Confusion entre Byref - Byval
- Confusion entre Notation mathématique - Notation algorithmique
- Erreurs fréquentes:
- Incompatibilité de type
- Erreur de compilation
exemples: * séparateur de liste superflu ou manquant * syntaxe de structure (if, while, Do..Loop until etc. erronée)
- Initialisation du compteur
- Choix de la strucure de contrôle
Questions possibles
- A quoi servent les algorithmes ?
- Quel sont les types d'algorithmes ?
- Quelle est la différence entre algorithme et programme?
- C'est quoi la programmation VBA ?
- VBA est un langage compilé, interprété ou pseudo-compilé?
- Quelle est la différence entre la programmation des tâches et les interfaces graphiques sous VBA?
- Comment intégrer des fonctions personnalisées aux fonctions prédéfinies sous VBE?
- Comment concevoir des algorithmes éthiques (IA) ??
- Quel futur pour les algorithmes ?
Liaisons enseignements et programmes
Idées ou Réflexions liées à son enseignement
- Les notions sont abstraites
- Apprentissage difficile
- S'initier à une réflexion sur l'enseignement de la pensée informatique
- indépendamment de la discipline informatique
- Maîtriser les notions mathématiques
Aides et astuces
- Forcez-vous à déclarer toute vos variables VBA. Cela peut paraître contraignant, mais finalement il n’y a que des avantages :
- Les erreurs seront plus facilement identifiées,
- Le code sera plus propre chacune des variables étant clairement définies,
- Votre macro VBA sera plus facilement modifiable et adaptable.
- Ils existent deux solutions vous obligeant de déclarer toutes les variables :
- Option Explicit
- Option Explicit par défaut : Une autre astuce VBA est de rendre cette mention par défaut. Pour ce faire, il suffit dans la fenêtre de l’éditeur, d’ouvrir le menu options (barre des menus / outils) puis de cocher la case Déclaration des variables obligatoire. La commande sera ensuite automatiquement intégrée à vos modules.
- Mettre à jour l’écran
- Pour rendre vos macros un peu plus rapides, utilisez la commande ci-dessous. Grâce à elle, vous ne verrez plus chaques actions de votre macro et votre écran restera fix.
- Inscrivez ce bout de code au début de votre macro ou de votre module pour qu’il fonctionne: Application.ScreenUpdating = False
- Les calculs automatiques
- Si votre macro VBA va modifier des données qui sont utilisées par des formules, Excel va effectuer les calculs de vos cellules en même temps que la macro tourne.
- Pour éviter à votre ordinateur de tout faire en même temps et donc de ralentir, inscrivez les deux mentions ci-dessous. La 1ère désactive les calculs automatiques et la seconde les réactive.
-
- Application.Calculation = xlCalculationManual 'inscrire au début de votre code.
- Application.Calculation = xlCalculationAutomatic 'inscrire à la fin de votre macro.
Education: Autres liens, sites ou portails
- https://www.chiny.me/algorithmique-apprendre-a-ecrire-les-algorithmes-17.php#:~:text=Un%20algorithme%20est%20une%20suite,il%20en%20constitue%20la%20logique
- https://www.tutorialspoint.com/vba/index.htm
- https://www.cours-gratuit.com/algorithmique/exercice-algorithme-fonctions-et-procedures
- https://pdfprof.com/Cours_Telecharger_Exercices_3.php?q=vba+excel+2016+-+cr%C3%A9ez+des+applications+professionnelles+exercices+et+corrig%C3%A9s+pdf
Bibliographie
Pour citer cette page: (et programmation VBA)
ABROUGUI, M & al, 2022. Algorithmique et programmation VBA. In Didaquest [en ligne]. <http:www.didaquest.org/wiki/Algorithmique_et_programmation_VBA>, consulté le 4, décembre, 2024
- Sponsors Education
- Informatique (Concepts)
- Algorithmique (Concepts)
- Programmation (Concepts)
- Mathématique (Concepts)
- Pensée logique (Concepts)
- Robotique (Concepts)
- Bio-informatique (Concepts)
- Indexation automatique sur Internet (Concepts)
- Commerce électronique (Concepts)
- Gestion de mémoires (Concepts)
- Intelligence artificielle (Concepts)
- Automatisation des tâches (Concepts)
- IoT (Concepts)
- Théorie des graphes (Concepts)
- Programmation événementielle (Concepts)
- Structures de données séquentielles
- Structures de données linéaires
- Allocation de mémoires
- Récursivité
- Programmation événementielle
- Programmation modulaire
- Passage par valeur
- Passage par référence
- Excel
- Pensée logique
- Macros-commandes
- Raisonnement
- Logique
- Mathématique
- Concepts
- Algorithmique et programmation VBA
- Algorithmique et programmation VBA (Concepts)
- Fiche conceptuelle didactique