Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJeunesse Mendes Modifié depuis plus de 10 années
1
Plan À faire Retour sur les exercices Gestion d’erreur
Dialogues et formulaires Boîtes de dialogue intégrées Saisie de plusieurs valeurs Barre de progression Objets et événements Excel Conseils de programmation Données externes Access Règles à suivre Laboratoire
2
Retour sur les exercices
Un bon programme… Fait toujours ce qui est prévu. Ne fait jamais ce qui n'est pas prévu. Est facile à utiliser. Est facile (peu coûteux) à modifier. Boucle de recherche: plage et test de fin Pourquoi ne pas typer les paramètres de fonction
3
Retour sur les exercices
Une macro Excel qui crée un tableau VBA contenant une matrice symétrique de nombres aléatoires entre 1 et 100, puis en copie le contenu dans une plage Excel
4
Impôts Programmer trois fonctions fnImpotProv(montant), fnImpotFed(montant) et fnImpot(montant) qui calculent l’impôt:
5
Récapitulation Variables ou objets Déclarations Programme ou fonction
Avantages Inconvénients Programme ou fonction Instructions d’assignation Instructions de contrôle Branchement Boucle Compteur Accumulateur Sortie de boucle Collections D’objets De variables Indexage
6
Gestion d’erreur Les erreurs qu’on prévoit Les erreurs imprévues
ON ERROR GOTO …
7
Dialogues et formulaires
Boîtes de dialogue: MsgBox InputBox Feuilles et cellules Excel Entrée Sortie Imprimante
8
Obtenir plusieurs paramètres
Un InputBox par paramètre Un seul InputBox et module d’analyse de chaîne Formulaire simple Formulaires Propriétés: Name Caption ShowModal Enabled Ordre de tabulation Textbox.value (type?) Où mettre le code? Procédure événementielle Voir S05 Formulaires
9
Barre de progression Technique 1: le formulaire
Voir S05 barre progression Technique 1: le formulaire Technique 2: la barre d’état
10
Objets et événements Excel
11
Générateur de nombres aléatoires
Rôle de Randomize Où l’utiliser Distribution uniforme entre 0 et 1: n = Rnd Distribution uniforme entre min et max: n=((Max - Min + 1) * Rnd + Min)
12
Nombres aléatoires selon une loi Normale(0,1)
Function fnRandN() 'Auteur Pierre Bouvier, modifiée par Michel Berthiaume ‘Retourner des nombres aléatoires selon une loi N(0,1) 'Algorithme de Box-Muller Const Pi As Double = 3, fnRandN = Cos(2 * Pi * Rnd()) * Sqr(-2 * Log(Rnd())) End Function
13
Poisson: Function fnRandPoisson(lambda)
'Auteur: modifiée par Michel Berthiaume 'Retourner un nombre aléatoire utilisant la distribution de Poisson Dim N As Long Dim dTemp As Double If Not IsNumeric(lambda) Then fnRandPoisson = "#Erreur paramètre invalide#" Exit Function End If dTemp = Rnd() N = 1 Do While (dTemp > Exp(-lambda)) N = N + 1 dTemp = dTemp * Rnd() Loop fnRandPoisson = N - 1 End Function
14
Exponentielle: Function fnRandExponentielle(lambda)
'Auteur: modifiée par Michel Berthiaume 'Retourner un nombre aléatoire utilisant la distribution exponentielle If Not IsNumeric(lambda) Then fnRandExponentielle = "#Erreur paramètre invalide#" Exit Function End If fnRandExponentielle = -Log(Rnd()) / lambda End Function
15
Gamma: Public Function fnRandGamma(alpha, beta)
'Auteur: 'Retourner un nombre aléatoire utilisant la distribution Gamme 'Utilise la fonction Excel LOI.GAMMA.INVERSE(probabilité;alpha;bêta) If Not IsNumeric(alpha) Or _ Not IsNumeric(beta) Then fnRandGamma = "#Erreur paramètre invalide#" Exit Function End If fnRandGamma = WorksheetFunction.GammaInv(Rnd(), alpha, beta) End Function
16
Importer des données Access
Pourquoi les données seraient en Access? Copier/coller Programme d’importation Importation sélective Voir S05 Importation access.xls
17
Conseils de programmation
Voir S05 VBA Règles à adopter
18
Laboratoire Programmes non terminés
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.