OPTIMISATION EN VISUAL BASIC APPLICATION

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "OPTIMISATION EN VISUAL BASIC APPLICATION"

Transcription

1 OPTIMISATION EN VISUAL BASIC APPLICATION Avant propos Voici un petit recueil d'idées pour réaliser une optimisation des programmes en VBA. IL résulte de mes propres expériences et lectures. D'une manière générale, il n'est pas évident de savoir si telle ou telle forme optimise un codage. Il convient par conséquent de tester soi-même, différente forme pour en garder que les meilleurs. Ce tutoriel hiérarchise un peu ces différentes formes qu on peut imaginer. J'indique les performances approximatives des formes non optimisées par rapport à la forme optimisée testée à "vide". La mesure du temps étant réalisée simplement par la fonction "Timer" car seul le classement importe. Il est certain, que cela peut varier beaucoup selon le contexte (appel en cache) ou selon le mode d'exécution. Mais, le classement lui varie assez peu. La notation (+5*) signifie une exécution 5 fois plus lente. Vous trouverez aussi un petit listing, permettant à chacun d avoir une base pour élaborer ses propres procédures de test. Dans une certaine mesure, ces optimisations sont applicables pour un programme VB compilé. Généralités Par optimisation, je considère la vitesse d'exécution uniquement. Néanmoins, il me semble assez logique, qu'on puisse interpréter l'optimisation de différentes façons. Par exemple, on peut considérer l'optimisation comme l'algorithme le plus court, le plus simple, le plus clair afin d'en faciliter la relecture ultérieure ou encore le moins gourmand en ressource matérielle, etc... Ces aspects sont tout aussi louables que l'optimisation de la vitesse, et se cumulent souvent. En réalité, le programmeur doit souvent faire des compromis entre ces différents aspects. Pour optimiser une programmation existante, il est assez évident qu on peut opérer des priorités, dont la première consiste à optimiser les boucles les plus sollicitées, puis en allant vers les répétitions de codes les moins courantes. Un autre principe évident, c est de réutiliser au maximum une expression calculée stockée dans une variable, et d utiliser un nombre restreint de variables. Mais, la meilleure optimisation reste d un autre ordre non évoqué ici, consistant à trouver le meilleur algorithme, qui dépend que de votre réflexion! Optimisation des variables Déclarations des variables La déclaration du type de variable est une première optimisation extrêmement classique et indispensable. Afin de n'oublier aucune déclaration, utiliser en tête de module ou de Form etc... la fonction : Option Explicit Succinctement, à retenir pour choisir le type : Pour des nb entier utiliser de préférence le type Long. Pour des nb décimaux utiliser nécessairement le type Double. Pour des variables de chaînes utiliser le type String. Bien sur, les déclarations dépendent aussi des besoins.

2 Mais d une manière générale, l emploi du type Variant (autre que dans les appels de fonctions) n'est jamais indispensable, et est à proscrire pour l optimisation. Ce type est surtout intéressant pour faciliter la programmation aux débutants. Mais cette facilité se paye par une baisse importante des performances. Une remarque de syntaxe. A tord, certains pensent que : " Dim a, b, c As Long" déclare les 3 variables en Long. Seul "c" est ici en Long, "a" et "b" sont déclarées en Variant, par défaut. La syntaxe correcte est : " Dim a As Long, b As Long, c As Long" Utilisation des tableaux (Dim) Quelques évidences. L optimisation avec les tableaux, consiste d abord à déclarer son type. Puis, autant que possible, il faut trouver une " structure " et/ou déterminer le nombre d éléments, quitte à définir un nombre en excès, afin de ne jamais manipuler une nouvelle fois la déclaration d un tableau ; par exemple, éviter de réutiliser Redim (Preserve). L utilisation d une variable tableau est toujours moins rapide qu une variable simple de type équivalent. Cette caractéristique est générale. La durée est au moins doublée. Donc, n utilisez pas une variable tableau dans des instructions spécifiques, comme par exemple dans une boucle FOR avec FOR M(0)= etc. Optimisation sur les nombres Longueur d'un nombre entier positif ou nul. Pour connaître le nombre de chiffre. Fix(Log(nb ) / Log(10)) + 1 Ici 0.11 est utile dans le cas ou nb=0, ainsi la formule renvoi 1. Si nb ne peut pas être nul, retirer cette constante. Forme équivalente : (+3.9*) Len(Str$(nb)) - 1 Forme équivalente : (+5*) Len(Trim$(Str$(nb))) Dim nb As Long, lg As Long For nb = 1 To lg = Fix(Log(nb ) / Log(10)) + 1 ' par formule math 'lg = Len(Str$(nb)) - 1 ' chaîne 'lg = Len(Trim$(Str$(nb))) 'par fonction de chaîne Pour un nombre entier négatif A partir de la forme précédente, il faut adapter la programmation et on rajoutera +1 pour tenir compte du signe négatif ou +1 pour la virgule. Fix(Log(Abs(nb) ) / Log(10)) + 2

3 Forme équivalente : Len(Str$(nb)) etc... Parité d un nombre Pour tester si un nombre est pair : If (nb And 1) = 0 Then... Forme équivalente : (+1.2*) If nb Mod 2 = 0 Then... Forme équivalente : (+1.3*) If nb = 2 * (nb \ 2) Then... Forme équivalente : (+2.1*) If nb = 2 * Int(nb / 2) Then... Forme équivalente : (+2.7*) If nb / 2 = Int(nb / 2) Then... Dim nb As Long, lg As Long For nb = 0 To If (nb And 1) = 0 Then lg = lg + 1 'If nb Mod 2 = 0 Then lg = lg + 1 'If nb = 2 * (nb \ 2) Then lg = lg + 1 'If nb = 2 * Int(nb / 2) Then lg = lg + 1 'If nb / 2 = Int(b / 2) Then lg = lg + 1 Pour tester si un nombre est impair : If (nb And 1) Then... Remarque : Entre les deux formes optimisées, cette dernière est plus rapide car il n y a pas de test d égalité (=0) prenant du temps dans le traitement. (pair : +1.1*) Calculs des puissances entières Curieuse fonction que " ^ " qui s effectue en un temps quasi-constant quelle que soit la puissance, mais reste moins rapide que la multiplication successive jusqu à puissance 9 environ. nb = lg * lg *... * lg Forme équivalente : nb = lg ^ 2 (+7.5*) nb = lg ^ 3 (+5.0*)

4 nb = lg ^ 4 (+4.6*) nb = lg ^ 5 (+3.9*) Dim nb As Long, lg As Long, A As Long lg = 100 For A = 0 To nb = lg * lg 'nb = 100 * 100 'nb = lg ^ 2 Calcul de la racine carré lg = Sqr(nb) Forme équivalente : (+3.5*) lg = nb ^ 0.5 Dim nb As Long, lg As Double For nb = 1 To lg = Sqr(nb) 'lg = nb ^ 0.5 Remarque : comme pour les puissances, on peut cumuler les racines carrés optimisées jusqu à 4. Ainsi lg = Sqr(Sqr(Sqr(Sqr(nb)))) est la dernière expression plus rapide que lg = nb ^ Division entière Dans le cas où les nombres peuvent être déclarés en type Long sans dépassement de capacité. nb = nb1 \ nb2 Forme équivalente : (+2.3*) Nb = Int(nb1 / nb2) Dim nb As Long, lg As Long For nb = 1 To lg = \ nb 'lg = Int( / nb) La multiplication plus rapide que la division

5 Dans une expression mathématique, il est légèrement plus rapide d'effectuer une multiplication par l'inverse d'un nombre que de diviser par ce même nombre. Ainsi, par exemple, pour diviser par 4, au lieu de faire (expression)/4, faire 0.25*(expression). nb = nb1 * [inverse nb2] Forme équivalente : (+1.1*) Nb = nb1 / nb2 Dim nb As Double, lg As Double For nb = 1 To lg = nb * 0.25 'lg = nb / 4 Le Pré-calcul Dans une boucle, il faut sortir tous les calculs d expression constante. Dim nb As Long, lg As Double, z As Double z = Sqr(2) lg = nb * z Forme équivalente : (+2.7*) lg = nb * sqr(2) Dim nb As Long, lg As Double, z As Double z = Sqr(2) For nb = 1 To lg = nb * z 'lg = nb * Sqr(2) Maximum et Minimum de 2 nombres If a < b Then max = b Else max = a Forme équivalente : (+1.5*) max = (a+b+abs(a-b))/2 min = (a+b-abs(a-b))/2 Forme équivalente : (+4.3*) max = IIf(a < b, b, a) min = IIf(a < b, a, b)

6 Dim a As Long, b As Long, max As Long, c As Long a = 3: b = 5 For t = 1 To If a < b Then max = b Else max = a 'max = (a + b + Abs(a - b)) / 2 'max = IIf(a < b, b, a) c = a: b = a: a = c Next t MsgBox Timer temps Ce principe est encore valable pour une liste de nombre. Par exemple : Attribution de 2 valeurs alternatives On rencontre assez souvent en programmation des variables utilisées comme indicateurs flags pouvant prendre que deux valeurs. On peut évidemment utiliser le type Booléan dans ce cas, avec TRUE et FALSE. Mais est-ce le meilleur? La réponse est positive. Or, ce n est pas toujours ce choix qui est fait. a = True b = False Forme équivalente : (+1.2*) a = -1 b = 0 Dim t As Long, maxi As Long maxi = ReDim b(maxi) As Boolean 'ReDim b(maxi) As Byte For t = 0 To maxi b(t) = False 'b(t) = 0 Next t On observe également sur ce test qu il est aussi préférable d utiliser le type Boolean au lieu de Byte même si ces deux types sont codés sur 8 bits chacun. Optimisation des tests Vérification d une condition avec renvoi Booléan a=(condition) Ici condition pourrait être constituer par une expression comme b=c, soit a=(b=c). L interprétation est facile, si b=c alors VB remplace en interne cette condition par la valeur vraie (True), puis l affecte à "a", soit a=true. Même chose dans le cas contraire, avec False. Cette optimisation est valable que pour le renvoi d une valeur Booléan. Forme équivalente : (+1.5*) If condition Then a = True Else a = False

7 Dim nb As Long, a As Boolean For nb = 1 To a = (nb And 1) 'If (nb And 1) Then a = True Else a = False Les fonctions conditionnelles Au vu des très nombreuses formes qu'on peut imaginer pour utiliser les fonctions conditionnelles, je les présente au fur et à mesure, sans être exhaustif. Dans une série de tests conditionnels et quel que soit le nombre de condition et la complexité des conditions, " If... Then... ElseIf... " est le plus performant. Mais il faut savoir aussi regarder le côté pratique du codage, ce qui privilégie sans doute Select Case. De plus, on s efforcera de mettre la condition qui a le plus de chance d être vérifiée en premier pour sortir du test le plus tôt possible. If (condition1) Then (instructions1) ElseIf (condition2) Then (instructions2) ElseIf... Forme équivalente : (+1.1*) If (condition1) Then (instructions1) If (condition2) Then (instructions2) Forme équivalente : (+1.2*) Select Case (variable) Case (condition1) (instructions1) Case (condition2) (instructions2)... End Select Forme équivalente : (+1.25*) If (condition1) Then (instructions1) Else If (condition2) Then (instructions2) Else... Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5

8 If t = 1 Then a = a + 1 ElseIf t = 2 Then a = a + 2 ElseIf t = 3 Then a = a + 3 ElseIf t = 4 Then a = a + 4 ElseIf t = 5 Then a = a + 5 Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Then a = a + 1 If t = 2 Then a = a + 2 If t = 3 Then a = a + 3 If t = 4 Then a = a + 4 If t = 5 Then a = a + 5 Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 Select Case t Case 1 a = a + 1 Case 2 a = a + 2 Case 3 a = a + 3 Case 4 a = a + 4 Case 5 a = a + 5 End Select Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Then a = a + 1 Else If t = 2 Then

9 a = a + 2 Else If t = 3 Then a = a + 3 Else If t = 4 Then a = a + 4 Else If t = 5 Then a = a + 5 Next t, j On pourrait encore se poser la question dans le cas d une série de conditions rassemblées avec un opérateur logique, par exemple avec OR. La structure " If... Then... ElseIf... " pourrait toujours être utilisée et resterait la plus rapide, mais serait très lourde à écrire, puisqu'il faudrait répéter de très nombreuses fois les mêmes instructions... Voir ci-dessus. (+1.25*) Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 Select Case t Case 1, 2, 5 a = a + 1 Case 3, 4 a = a + 3 End Select Next t Next j (+1.25*) Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Or t = 2 Or t = 5 Then a = a + 1 ElseIf t = 3 Or t = 4 Then a = a + 3 Next t Next j Les différentes écritures de If

10 En VBA, les différentes formes d'écriture de l'instruction "IF" ont une influence sur la vitesse d'exécution. (Cette différence n'existe pas après compilation avec VB.) If (condition) Then (instructions1) Else (instructions2) Forme équivalente : (+1.1*) If (condition) Then (instructions1) Else: (instructions2) Forme équivalente : (+1.3*) If (condition) Then (instructions1) Else (instructions2) Dim a As Long, b As Long, max As Long, c As Long a = 3: b = 5 For t = 1 To If a < b Then max = b Else max = a 'If a < b Then max = b Else: max = a 'If a < b Then ' max = b 'Else ' max = a ' c = a: b = a: a = c Next t Optimisation sur les références Lorsque des objets sont appelés plusieurs fois, il est avantageux d utiliser "With". Voici un exemple tiré de l aide de VBA sur le sujet : "L'instruction With permet de spécifier un objet ou un type défini par l'utilisateur pour une série d'instructions. Les instructions With accélèrent l'exécution des procédures et permettent d'éviter des saisies répétitives. Vous pouvez imbriquer des instructions With pour en améliorer l'efficacité. L'exemple suivant insère une formule dans la cellule A1, puis formate la police." Exemple : Sub MyInput() With ActiveSheet.Cells(1, 1).Formula = "=SQRT(50)" With.Font.Name = "Arial".Bold = True.Size = 8 End With End With End Sub Optimisation sur les chaînes Les fonctions de chaînes

11 Certaines fonctions sur les chaînes existent en deux versions, correspondant soit à un type de données en Variant, soit en String déclaré par le signe dollar ($). Cette dernière version est la plus rapide. Par exemple, String deviendra String$. Les fonctions concernées sont : Chr$, ChrB$, CurDir$, Date$, Dir$, Error$, Format$, Hex$, Input$, InputB$, LCase$, Left$, LeftB$, LTrim$, Mid$, MidB$, Oct$, Right$, RightB$, RTrim$, Space$, Str$, String$, Time$, Trim$, UCase$. String$ L appel à certaines de ces fonctions peuvent être encore plus optimisée, en déclarant les paramètres de l instruction dans une variable adaptée. Utile seulement dans une boucle. Dim z As String, lg As String z = "0" lg = String$(1000, z) Forme équivalente : (+1.1*) String(1000, z) Forme équivalente : (+1.1*) String$(1000, 48) Forme équivalente : (+1.3*) String$(1000, "0") Dim nb As Long, z As String, lg As String z = "0" For nb = 1 To lg = String$(1000, z) 'lg = String(1000, z) 'lg = String$(1000, 48) 'lg = String$(1000, "0") 'lg = String(1000, "0") Chaîne statistique ou dynamique La déclaration de chaîne peut être fait de deux manière, soit statistique (au maximum 63ko) en définissant une longueur fixe grâce à String * (longueur), soit dynamique (jusqu à 2 milliards de caractère). Curieusement la déclaration dynamique est nettement plus rapide pour la concaténation de chaîne. Dim a As String Forme équivalente : (+3*) Dim a As String * (nombre)

12 'Dim a As String * 7, b As String * 7, c As String * 14 Dim a As String, b As String, c As String Dim t As Long a = "bonjour" b = " à toi!" For t = 1 To c = a & b Next t La concaténation de chaîne La concaténation est identique avec «&» ou «+». Préférer «&» pour éviter toute confusion. Néanmoins, on peut faire une concaténation plus rapide, utile dans une boucle. Cela consiste à déclarer la variable de réception avec une taille valant (ou par excès), la taille des chaînes à concaténer, puis d utiliser Mid$. Cette astuce semble également beaucoup plus performante sous les dernières versions de VBA (version 6 ou plus). c = Space$(14) Mid$(c, 1, 7) = a: Mid$(c, 8, 7) = b (+1,04*) Dim l1 As Long, l2 As Long, l3 As Long l1 = Len(a): l2 = Len(b): l3 = l1 + 1 c = Space$(la + lb) Mid$(c, 1, l1) = a: Mid$(c, l3, l2) = b Forme équivalente : (+1,5*) c = a & b Forme équivalente : (+1,5*) c = a + b Dim a As String, b As String, c As String, t As Long a = "bonjour" b = " à toi!" c = Space$(14) 'Dim l1 As Long, l2 As Long, l3 As Long 'l1 = Len(a): l2 = Len(b): l3 = l1 + 1 'c = Space$(l1 + l2) For t = 1 To Mid$(c, 1, 7) = a: Mid$(c, 8, 7) = b 'Mid$(c, 1, l1) = a: Mid$(c, l3, l2) = b 'c = a & b 'c = a + b Next t La chaîne nulle Pour attribuer une chaîne nulle à une variable utiliser la constante vbnullstring.

13 mot = vbnullstring Forme équivalente : (+4*) mot = "" Forme équivalente : (+5.5*) mot = Chr$(0) Dim nb As Long, mot As String For nb = 1 To mot = vbnullstring 'mot = "" 'mot = Chr$(0) Optimisation des boucles La variable d une boucle doit être déclarée pour être optimale. Option Explicit est donc très pratique ici... Parmi toutes les syntaxes et conditions d utilisation on peut faire un classement des boucles en fonction de leur rapidité d exécution, pour réaliser exactement le même nombre de passage. IL est à noter qu on peut retenir uniquement deux formes de boucles optimales : FOR TO NEXT, dans le cas où l'on connaît exactement les bornes, où DO.. LOOP (UNTIL/WHILE) sinon. For... To... (Step)... Next La vitesse est la plus rapide pour le type Integer. A défaut, si la borne > alors prendre le type Long (presque équivalent). Dim Variable As Long, borne_fin As Long borne_fin = (un nb ou une expression) FOR Variable = (un nb ou une expression) TO borne_fin STEP (un nb ou une expression) NEXT Dim nb As Integer, nb2 As Integer 'Dim nb As Long, nb2 As Long 'Dim nb As Double, nb2 As Double For nb = 1 To 1000 For nb2 = 1 To Do.. Loop (While/Until) Do (While/Until)... Loop Do.. Exit Do... Loop

14 While... Wend étiquette... Goto étiquette... Goto suite Formes optimales et test : Dim A As Long Do Loop Until A = Forme équivalente et test : (+1.1*) Dim A As Long Do Loop While A < Forme équivalente et test : (+1.3*) Dim A As Long Do Until A = Loop Forme équivalente et test : (+1.4*) Dim A As Long boucle: If A < Then GoTo boucle Forme équivalente et test : (+1.4*) Dim A As Long Do While A < Loop Forme équivalente et test : (1.5*) Dim A As Long Do If A = Then Exit Do Loop Forme équivalente et test : (+1.5*) Dim A As Long While A < Wend Forme équivalente et test : (+1.9*) Dim A As Long, nb As Integer For nb = 0 To 1 nb = 0 If A = Then Exit For Next Forme équivalente et test : (+2.7*) ReDim A(0) As Long Do

15 A(0) = A(0) + 1 Loop Until A(0) = Exécuter une instruction une fois sur x passages Dim Saut As Long, A As Long, nb As Long Saut = 90 For nb = 0 To If nb = Saut Then Saut = Saut + 90: 'instructions Forme équivalente : (+1.9*) Dim A As Long, nb As Long For nb = 0 To If nb mod 90 Then 'instructions Dim Saut As Long, A As Long, nb As Long Saut = 90 For nb = 0 To If nb = Saut Then Saut = Saut + 90: 'If nb Mod 90 Then 'instructions Optimisation pour Excel Pour un gain global, il peut être intéressant de désactiver certains processus intrinsèque à Excel. Ainsi, la désactivation temporaire de la mise à jour de l'affichage, en début du code permet un gain d'exécution important. Dans la même idée, si votre projet le permet, la désactivation temporaire du recalcule des références des formules peut être désactiver. Bien sur, il faut faire attention, à ne pas faire dépendre la suite de votre code, à un résultat d'une formule dans une cellule. Le gain global dépendra essentiellement de la façon dont votre code est construit. Il peut s'élever jusqu'à 50%. 'Désactive la mise à jour de l'affichage Application.ScreenUpdating = False 'Désactive la mise à jour des recalculs Application.Calculation = xlcalculationmanual 'code modifiant les cellules For x = 1 To 4000 ActiveSheet.Cells(x, 1) = x Next x 'Ré-activations Application.Calculation = xlcalculationautomatic Application.ScreenUpdating = True Source :

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Programmation VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel)

Programmation VBA. Identificateurs. Types de base. Déclaration d une variable. Commentaires. Activer l onglet Développeur (Excel) Activer l onglet Développeur (Excel) Programmation VBA Michel Reid Cliquez sur le bouton Office (coin supérieur gauche) Cliquez sur le bouton Options Excel Dans la section Standard, cochez la case Afficher

Plus en détail

Les types utilisateurs (VBA) Corrigé

Les types utilisateurs (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 2 avril mai 2013 Corrigé Résumé Ce document décrit comment traduire en VBA les types utilisateur du langage algorithmique. Table des matières

Plus en détail

Contrôler les programmes VBA

Contrôler les programmes VBA 7 Contrôler les programmes VBA Au sommaire de ce chapitre Utiliser les opérateurs logiques Trier des données Répéter une série d instructions : les boucles Utiliser des instructions conditionnelles Définir

Plus en détail

Contrôler les programmes VBA

Contrôler les programmes VBA 7 Contrôler les programmes VBA Au sommaire de ce chapitre Répéter une série d instructions : les boucles Utiliser des instructions conditionnelles Définir l instruction suivante avec GoTo Interagir avec

Plus en détail

Excel 2002 VBA Programmation

Excel 2002 VBA Programmation Excel 2002 VBA Programmation SOMMAIRE Structures conditionnelles... 3 A) L'instruction If... 3 B) L'instruction If Then Else... 3 C) L'instruction If Then Elseif... 4 D) L'instruction Select Case... 4

Plus en détail

Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As Double End Type Sub saisie()

Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As Double End Type Sub saisie() Option Explicit Type Voiture Immatriculation As String Année As Integer Marque As String Modèle As String Prix As uble End Type Sub saisie() Dim nombre As Integer Dim LesVoitures() As Voiture ReDim LesVoitures(5)

Plus en détail

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende

Que faire en algorithmique en classe de seconde? ElHassan FADILI Lycée Salvador Allende Que faire en algorithmique en classe de seconde? BEGIN Que dit le programme? Algorithmique (objectifs pour le lycée) La démarche algorithmique est, depuis les origines, une composante essentielle de l

Plus en détail

Introduction à l informatique, à Python, et représentation des nombres en machine

Introduction à l informatique, à Python, et représentation des nombres en machine Introduction à l informatique, à Python, et représentation des nombres en machine Table des matières Qu est-ce-que l informatique? Qu est-ce-qu un ordinateur? 2 Principaux composants...............................................

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Cours Visual Basic pour Application. Par Fabrice Pasquier

Cours Visual Basic pour Application. Par Fabrice Pasquier Cours Visual Basic pour Application Par Fabrice Pasquier Sommaire Introduction à la programmation Motivation - démos VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Intégration à MS Excel

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

SUPPORT DE COURS EXCEL 2007 - MACROS

SUPPORT DE COURS EXCEL 2007 - MACROS SOMMAIIRE A.... PRESENTATION DES MACROS DANS EXCEL... 2 B... ENREGISTRER UNE MACRO... 2 1 PREPARATION... 2 2 ENREGISTRER UNE MACRO... 3 3 MODIFIER UNE MACRO... 3 4 AFFECTER UNE MACRO UN OBJET DE LA FEUILLE

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 1ère partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

ACTIVATION DES MACROS

ACTIVATION DES MACROS ACTIVATION DES MACROS Il faut d abord activer les macros dans Excel. Cela permet d afficher le menu développeur et d avoir accès à la page de programmation Visual Basic. Accès au menu développeur : Fichier

Plus en détail

Initiation aux bases de données et à la programmation événementielle

Initiation aux bases de données et à la programmation événementielle Initiation aux bases de données et à la programmation événementielle Cours N 6 : VBA sous ACCESS Souheib BAARIR. Page web : http://pagesperso-systeme.lip6.fr/souheib.baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr

Plus en détail

Tableaux, chaînes VBA et Excel. Par Fabrice Pasquier Cours II

Tableaux, chaînes VBA et Excel. Par Fabrice Pasquier Cours II Tableaux, chaînes VBA et Excel Par Fabrice Pasquier Cours II Rappels - Environnement Ouverture de l environnement de programmation: Outils -> Macro -> Visual Basic Editor Création d un module Insertion

Plus en détail

Petite gestion des stocks

Petite gestion des stocks Petite gestion des stocks Comment quelques macros et du code VBA facilitent la gestion des données dans des feuilles de calcul Excel Vous avez demandé à quelques étudiants de BTS de gérer le stock des

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

3 Instructions (suite)

3 Instructions (suite) Initiation à la programmation et cours 2 1 3 Instructions (suite) Introduction En comme en programmation : l'ordre des instructions est primordial Le processeur exécute les instructions dans l'ordre dans

Plus en détail

1. Ouvrir l éditeur de VBA et ajouter un module

1. Ouvrir l éditeur de VBA et ajouter un module On peut programmer avec VBA des fonctions et des procédures. Une fonction pourra être utilisée comme la fonction Somme, et une procédure pourra devenir une macro. 1. Ouvrir l éditeur de VBA et ajouter

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

Plus en détail

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet

EXCEL. Chapitre 4 : Le langage Visual Basic Application. Claude Duvallet Chapitre 4 : Le langage Visual Basic Application Claude Duvallet Université du Havre UFR des Sciences et Techniques 25 rue Philippe Lebon BP 540 76058 Le Havre Cedex Courriel : Claude.Duvallet@gmail.com

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 2ème partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

Plus en détail

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG Retour sur l'examen intra Objectifs Tableaux à deux dimensions

Plus en détail

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

IPT : Cours 2. La représentation informatique des nombres

IPT : Cours 2. La représentation informatique des nombres IPT : Cours 2 La représentation informatique des nombres (3 ou 4 heures) MPSI-Schwarz : Prytanée National Militaire Pascal Delahaye 28 septembre 2015 1 Codage en base 2 Définition 1 : Tout nombre décimal

Plus en détail

Informatique SV L2 TP 1

Informatique SV L2 TP 1 Informatique SV L2 TP 1 1 Prise en main de Python 1.1 Démarrer l'interpréteur Python Pour exécuter du code Python, il faut ouvrir l'interpréteur Python. Pour cela : Ouvrez la console : Menu UCP, Console

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

Plus en détail

UFRSTAPS Toulouse. UE11 Projet de développement VBA MASTER 2 Tribet Hervé

UFRSTAPS Toulouse. UE11 Projet de développement VBA MASTER 2 Tribet Hervé UFRSTAPS Toulouse UE11 Projet de développement VBA MASTER 2 Tribet Hervé 2009 I. Présentation Visual Basic pour Applications (VBA) est le langage de programmation des applications de Microsoft Office.

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic Algorithmique et programmation Cours d'algorithmique illustré par des exemples pour le picbasic Même s'il est possible d'écrire un programme petit à petit par touches successives, le résultat est souvent

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Mise en œuvre du langage PL.SQL

Mise en œuvre du langage PL.SQL Mise en œuvre du langage PL.SQL Il est possible avec RCITools Oracle/Excel de soumettre des ordres PL.SQL. L utilisation conjointe de cette possibilité avec celle de lire et d écrire très facilement des

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Exemple. Il ne faudra pas confondre (101) 2 et (101) 10 Si a 0,a 1, a 2,, a n sont n+1 chiffres de 0 à 1, le

Exemple. Il ne faudra pas confondre (101) 2 et (101) 10 Si a 0,a 1, a 2,, a n sont n+1 chiffres de 0 à 1, le Chapitre I - arithmé La base décimale Quand on représente un nombre entier, positif, on utilise généralement la base 10. Cela signifie que, de la droite vers la gauche, chaque nombre indiqué compte 10

Plus en détail

1 Valeur d une expression

1 Valeur d une expression PCSI Informatique: Cours2 1 VALEUR D UNE EXPRESSION Expressions et variables en informatique 1 Valeur d une expression Expression : suite de caractères qui a un sens pour la machine Valeur d une expression

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

Des macros Excel pour exporter et importer des modules de code VBA

Des macros Excel pour exporter et importer des modules de code VBA Cah. Techn. Inra, 2008, 65, 13-22 Des macros Excel pour exporter et importer des modules de code VBA Jean-Baptiste Duclos 1 Résumé : Cet article présente deux macros VBA Excel pour sauvegarder facilement

Plus en détail

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 8 juillet 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Olivier BOEBION Mars 2004 1 Les expressions conditionnelles et les structures de contrôle 1.1 La commande test La commande interne

Plus en détail

Algorithmique Chapitre N o I : Introduction à Python

Algorithmique Chapitre N o I : Introduction à Python POIRET Aurélien Algorithmique MPSI Algorithmique Chapitre N o I : Introduction à Python Un algorithme est une suite nie d'opérations élémentaires constituant un schéma de calcul ou de résolution de problème.

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

DECOUVERTE DE L ALGORITHME

DECOUVERTE DE L ALGORITHME Sources : DECOUVERTE DE L ALGORITHME - algorithme et programmation : auteur : D. JAGER juin 2005. - algorithme : principes : auteur : D. JAGER juin 2005 I- INTRODUCTION Un programme informatique est constitué

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications La notion d objet Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr 25 Septembre 2008 R. Tavenard

Plus en détail

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

Plus en détail

1 Grad Info Soir Langage C - Juin 2006

1 Grad Info Soir Langage C - Juin 2006 1 Grad Info Soir Langage C - Juin 2006 1. Explications L'examen comprend 3 parties - un programme à réaliser à domicile - une partie écrite qui comprend un certain nombre de petits paragraphes de code

Plus en détail

Jeu Simon: analyse. La partie est perdue, on a eu une erreur ou un dépassement du temps limite : musique

Jeu Simon: analyse. La partie est perdue, on a eu une erreur ou un dépassement du temps limite : musique Jeu Simon: analyse 1 Algorithme du jeu : Effectuer un tirage de la séquence des couleurs (20 éléments, 3 couleurs) Répéter Afficher la séquence des couleurs et émission des notes associées Répéter Entrée

Plus en détail

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape)

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) NIVEAU : PREMIERE RENCONTRE AVEC VB INITIES/EXPERIMENTES Pré requis pour comprendre ce tutorial : - Connaître les principales commandes de VB

Plus en détail

Université du Littoral Master 1. PROJET Puissance 4

Université du Littoral Master 1. PROJET Puissance 4 Université du Littoral Master 1 PROJET Puissance 4 Le but de ce projet est de réaliser un programme permettant à l utilisateur de jouer au Puissance 4 contre l ordinateur. 1 Travail à Rendre Le travail

Plus en détail

Programmation Visual Basic sous Excel

Programmation Visual Basic sous Excel 1 Programmation Visual Basic sous Excel Version provisoire Septembre 06 1 Introduction Excel était avant tout un tableur. Au fil des versions, il a su évoluer et intégrer des fonctionnalités qui le rendent

Plus en détail

Algorithme Algorigramme page 1/10 Algorithmique Algorigramme

Algorithme Algorigramme page 1/10 Algorithmique Algorigramme Algorithme Algorigramme page 1/10 Algorithmique Algorigramme Centre d'interêt : Analyser les constituants d'un système réel d'un point de vue structurel et comportemental Objectifs A la fin de la séquence,

Plus en détail

Aperçu général de Visual Basic

Aperçu général de Visual Basic Aperçu général de Visual Basic Introduction intuitive à travers trois exemples (cf. TPs) Le programme bonjour Minimum de deux nombres Résolution d une «équation du premier degré». Principes de bases Programmation

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Introduction. Introduction au langage Java

Introduction. Introduction au langage Java Un premier programme 1 Introduction Un ordinateur peut faire bien des choses, mais il faut d abord les lui expliquer. Apprendre la programmation, ce n est pas seulement savoir écrire un programme, c est

Plus en détail

Introduction au langage

Introduction au langage Introduction au langage Un langage de programmation : de haut niveau interprété orienté objet si on le souhaite rapide à écrire et proche du pseudo-code simple tant qu on fait des choses simples Un programme

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

Plus en détail

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA

VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA Editions ENI VBA Excel 2010 Programmer sous Excel : Macros et Langage VBA Collection Ressources Informatiques Extrait Chapitre 8 A. Présentation Un événement est une action utilisateur ou système reconnue

Plus en détail

Informatique en Degead 1. Présentation, modalités, objectifs (1/3)

Informatique en Degead 1. Présentation, modalités, objectifs (1/3) Informatique en Degead 1 Présentation, modalités, objectifs (1/3) Responsable : Denis Cornaz denis.cornaz@dauphine.fr 01 44 05 41 83 P 409 bis http://www.lamsade.dauphine.fr/ cornaz/enseignement/uv21-degead1/

Plus en détail

Utiliser les formules de calculs basiques sur Excel Partie 2/2 - Si, somme.si, max, min, nb.si et arrondi

Utiliser les formules de calculs basiques sur Excel Partie 2/2 - Si, somme.si, max, min, nb.si et arrondi - le 09/04/2013 Utiliser les formules de calculs basiques sur Excel Partie 2/2 - Si, somme.si, max, min, nb.si et arrondi Ce tutoriel est la dernière partie sur les formules de calculs basiques d Excel

Plus en détail

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre

Plus en détail

Haute École de Gestion 05/10/2007. au cours Programmation en VBA Excel. Faisons connaissance. Etudiants se présentent

Haute École de Gestion 05/10/2007. au cours Programmation en VBA Excel. Faisons connaissance. Etudiants se présentent Bienvenue au cours en Excel Faisons connaissance Etudiants se présentent Nom, Prénom Avez-vous déjà fait des macros Excel? Avec-vous déjà programmé avec Excel? Avez-vous déjà programmé avec d'autres langages

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Macros et langage VBA Apprendre à programmer sous Excel (3ième édition)

Macros et langage VBA Apprendre à programmer sous Excel (3ième édition) Introduction A. Introduction 15 B. À qui s'adresse ce livre? 15 C. Qu est-ce qu une macro? 15 D. Quel intérêt de faire des macros? 16 E. Contenu de ce livre 16 L'éditeur de Visual Basic A. Introduction

Plus en détail

Sommaire. Partie A VBA pour WORD et EXCEL 21. 1 Découvrir l éditeur VBA 23

Sommaire. Partie A VBA pour WORD et EXCEL 21. 1 Découvrir l éditeur VBA 23 Partie A VBA pour WORD et EXCEL 21 1 Découvrir l éditeur VBA 23 1.1 Enregistrer une macro... 25 Enregistrer une macro Excel... 26 Enregistrer une macro Word... 35 1.2 Accéder à l éditeur VBA... 40 Examiner

Plus en détail

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Hélène Toussaint, juillet 2014 Sommaire 1. Efficacité du std::sort... 1 1.1. Conditions expérimentales... 1 1.2. Tableaux de

Plus en détail

Algorithmique au lycée

Algorithmique au lycée Stage PAF christian.brucker@ac-strasbourg.fr jean-paul.quelen@ac-strasbourg.fr 13 mars 2015 Lycée Jean Monnet STRASBOURG Sommaire du stage Les programmes Sommaire du stage Les programmes Sommaire du stage

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Formulaires. Fiches de savoir associées. C.0.a., C.0.b., C.0.c., C.2.1.a., C.2.1.b. et C.2.3.a.

Formulaires. Fiches de savoir associées. C.0.a., C.0.b., C.0.c., C.2.1.a., C.2.1.b. et C.2.3.a. Activité 10 Formulaires Objectif Travailler sur des formulaires : observer le code et modifier l interface (IHM) de l application. Ressource à utiliser Base de données Formation appformation.mdb Fiches

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Introduction à Visual Basic

Introduction à Visual Basic La fenêtre (form) principale: Zone de titre Points d attraction pour le dessin des contrôles Menu Système Fenêtre s affichant lors de l exécution du programme 15 Raccourci F4 Propriétés de la fenêtre principale

Plus en détail

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA

Université Paris 1 Panthéon Sorbonne UFR 06. Fiche de TD VBA 1 / 13 Fiche de TD VBA L objectif de cette fiche est de faire un rappel (voire une présentation rapide) du langage de programmation VBA et de son usage sur des documents Excel et Access. Pour rappel, VBA

Plus en détail

Informatique Macros en VBA / Excel

Informatique Macros en VBA / Excel Informatique Macros en VBA / Excel Licence 3 TCI et Tourisme A. Lemay 1 Introduction Visual Basic for Applications (VBA) est le langage de programmation des applications de Microsoft Office. VBA permet

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-onventions Initiation à la programmation en Python Une commande Python sera écrite en caractère gras. Exemples : print("bonjour") max=input("nombre maximum autorisé :") Le résultat de l'exécution d'un

Plus en détail

CRÉER DES PROCÉDURES FUNCTION

CRÉER DES PROCÉDURES FUNCTION 1 CRÉER DES PROCÉDURES FUNCTION Dans ce chapitre La différence entre les procédures Sub et Function Comment créer des fonctions personnalisées? À propos des fonctions et des arguments Quelques exemples

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

InitProg par l exemple

InitProg par l exemple InitProg par l exemple Martin Monperrus 16 décembre 2011 Ce cument illustre avec des programmes Ocamlcartes et Ocaml le polycopié du cours Initiation à la programmation (InitProg) de l Université Lille

Plus en détail

Initiation à la programmation en Basic

Initiation à la programmation en Basic Initiation à la programmation en Basic Table des matières 1. INTRODUCTION... 2 1.1. OBJECTIFS DU COURS... 2 2. LANGAGES INTERPRETES OU COMPILES... 3 3. INSTALLATION DE QBASIC... 4 4. L ENVIRONNEMENT DE

Plus en détail

Codage des données en machine.

Codage des données en machine. Codage des données en machine. 1 Entiers naturels Changements de base Codage en machine 2 Entiers relatifs : codage en complément à 2 Dénition Addition et calcul de l'opposé en complément à 2 3 Représentation

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Problème : débordement de la représentation ou dépassement

Problème : débordement de la représentation ou dépassement Arithmétique entière des ordinateurs (représentation) Écriture décimale : écriture positionnelle. Ex : 128 = 1 10 2 + 2 10 1 + 8 10 0 Circuit en logique binaire Écriture binaire (base 2) Ex : (101) 2 =

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail