vba excel 2000 - livret d'exercices

Upload: lahcen-ouboumlik

Post on 01-Mar-2018

248 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    1/20

    EExxeerrcciicceess

    VVBBAAEExxcceell

    MMEERRCCIIDDEELLAAIISSSSEERRCCEELLIIVVRREETT

    DDAANNSSLLAASSAALLLLEE..

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    2/20

    Exercices VBA Excel Dcembre 2001

    Page 2 sur 20 Laurent DUPRAT

    Fonctions ............................................................................................................... 3

    Age (1) ......................................................................................................................................4

    Franc Euro.................................................................................................................................5

    Facture ......................................................................................................................................6 Age (2) ......................................................................................................................................8

    Macros ................................................................................................................... 9

    Tableau (1) ..............................................................................................................................10

    Tableau (2) ..............................................................................................................................11

    Visites .....................................................................................................................................12

    Changer la casse......................................................................................................................14

    Calendrier................................................................................................................................15

    Onglets (1) ..............................................................................................................................17

    Onglets (2) ..............................................................................................................................18

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    3/20

    FONCTIONS

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    4/20

    Exercices VBA Excel Fonctions Dcembre 2001

    Page 4 sur 20 Laurent DUPRAT

    Age (1)

    Objectif :

    Crer une fonction de calcul 30 minLaurent DUPRAT

    Consignes de ralisation :

    Crer le tableau ci-dessous

    Crer une fonction age qui renvoie lge par rapport la date saisie avec un format

    personnalis (ans ou an en fonction du nombre dannes).

    Utiliser cette fonction dans les cellules B2et B3.

    Enregistrer le fichier sous le nom Age.

    Remarques :

    Le calcul par fonctions serait : =ENT((MAINTENANT()-ma_date)/365,25)

    Le code VBA pour formater un calcul est : Format()

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    5/20

    Dcembre 2001 Fonctions Exercices VBA Excel

    Laurent DUPRAT Page 5 sur 20

    Franc Euro

    Objectif :

    Crer une fonction de calcul 30 minLaurent DUPRAT

    Consignes de ralisation :

    Crer le tableau ci-dessous

    Crer une fonction FrancEuro(montant;code)qui permet de renvoyer le montant dans la

    devise souhaite en fonction dun code saisi par lutilisateur (par exemple, 1 pour

    transformation des Francs en Euros, 2 pour transformation des Euros en Francs).

    Prvoir un message derreur lorsque lutilisateur ne saisit pas le bon code permettant la

    transformation du montant dsir.

    Utiliser cette fonction dans les cellules B2et A3avec les bons paramtres.

    Tester, dans une autre cellule, la fonction avec un mauvais code.

    Enregistrer le fichier sous le nom FrancEuro.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    6/20

    Exercices VBA Excel Fonctions Dcembre 2001

    Page 6 sur 20 Laurent DUPRAT

    Facture

    Objectif :

    Crer une fonction de calcul 30 minLaurent DUPRAT

    Consignes de ralisation :

    Ouvrir le fichier Facture.xls.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    7/20

    Dcembre 2001 Fonctions Exercices VBA Excel

    Laurent DUPRAT Page 7 sur 20

    Crer une fonction MonTauxqui renvoie le taux correspondant au montant du brut :

    Brut : Taux :

    Jusqu 2 000 F (exclus) Pas de remise

    De 2 000 F 4 000 F (exclus) 1 %De 4 000 F 6 000 F (exclus) 2 %

    De 6 000 F 8 000 F (exclus) 3 %

    De 8 000 F 10 000 F (exclus) 4 %

    De 10 000 F 12 000 F (exclus) 5 %

    De 12 000 F 14 000 F (exclus) 6 %

    De 14 000 F 16 000 F (exclus) 7 %

    De 16 000 F 18 000 F (exclus) 8 %

    De 18 000 F 20 000 F (exclus) 9 %

    A partir de 20 000 F 10 %

    Utiliser cette fonction dans la cellule D19.

    Effectuer des tests.

    Enregistrer le fichier.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    8/20

    Exercices VBA Excel Fonctions Dcembre 2001

    Page 8 sur 20 Laurent DUPRAT

    Age (2)

    Objectif :

    Gnraliser une fonction de calcul 30 minLaurent DUPRAT

    Consignes de ralisation :

    Ouvrir le classeur Agecontenant la fonctionage.

    Enregistrer ce classeur comme Macro complmentaire Microsoft Excel.

    Activer la macro complmentaire Agedans Outils Macros complmentaires

    Fermer le classeur Age.

    Dans un nouveau classeur, tester la fonction ageen passant par lAssistant Fonction .

    Un fois le test effectu, dsactiver la macro complmentaire et supprimer le fichier dans le

    dossier des Macros complmentaires

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    9/20

    MACROS

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    10/20

    Exercices VBA Excel Macros Dcembre 2001

    Page 10 sur 20 Laurent DUPRAT

    Tableau (1)

    Objectif :

    Crer une macro 20 minLaurent DUPRAT

    Consignes de ralisation :

    Nous allons enregistrer une macro permettant de raliser ce tableau :

    Enregistrer la macro TableauAutoqui permet de tracer un petit tableau :

    Slectionner les 6 premires cellules (de A1 A6)

    Faire le contourSlectionner la premire cellule (A1)

    Faire la bordure du bas

    Remplir avec une couleur

    Autoriser un retour la ligne, centrer le contenu horizontalement et verticalement.

    Slectionner toutes les cellules constituant le tableau final (de A1 D6)

    Recopier vers la droite (menu dition)

    Slectionner la premire cellule (A1)

    Remarque : cette macro devra raliser ce petit tableau partir de la cellule active (celle

    slectionne par lutilisateur).

    Afficher le code de la macro TableauAutoet supprimer le code inutile.

    Remarque : si vous ntes pas sr, vous pouvez saisir un apostrophe devant la ligne dun code

    plutt que de la supprimer. Celle-ci est transforme en commentaire et nest donc plus

    excute.

    Tester la macro dans une cellule quelconque.

    Enregistrer le fichier sous le nom TableauAuto.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    11/20

    Dcembre 2001 Macros Exercices VBA Excel

    Laurent DUPRAT Page 11 sur 20

    Tableau (2)

    Objectif :

    Modifier une macro 20 minLaurent DUPRAT

    Consignes de ralisation :

    Nous allons modifier la macro TableauAutopour que lutilisateur puisse indiquer le nombre

    de colonnes et de lignes dsirs dans des botes de saisie.

    Lutilisateur sera inform de la cration du tableau par cette bote :

    Remarques :

    Pour demander lutilisateur de saisir une information, utiliser le code VBA inputbox

    Pour afficher une information, utiliser le code VBA msgbox

    Pour slectionner une plage de cellules, utiliser le code VBA range(Cellule1,Cellule2).select

    avec sa proprit Offset pour se dplacer de x lignes et y colonnes.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    12/20

    Exercices VBA Excel Macros Dcembre 2001

    Page 12 sur 20 Laurent DUPRAT

    Visites

    Objectif :

    Crer une macro permettant de modifier un graphique 30 minLaurent DUPRAT

    Consignes de ralisation :

    Chaque jour, le Directeur dun office de tourisme souhaite comptabiliser en temps rel et par

    pays dorigine, le nombre de personnes venant chercher des informations.

    Un clic sur le bouton dun pays augmentera la valeur des visites (stocke dans la cellule du

    dessus).

    Prparer la feuille : partir des donnes saisies, raliser le graphique en histogramme

    (personnaliser chaque barre avec limage souhaite).

    Enregistrer la macro Initqui permet deffacer le contenu des cellules servant raliser le

    graphique.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    13/20

    Dcembre 2001 Macros Exercices VBA Excel

    Laurent DUPRAT Page 13 sur 20

    Crer la macro Compteur1qui slectionne la cellule contenant les visites de la France et

    qui ajoute 1 sa valeur

    Dupliquer la macro Compteur1et modifier les paramtres voulus pour chaque pays.

    Crer un bouton par pays

    Affecter chaque bouton, la macro correspondante (utiliser la barre doutils Formulaires).

    Enregistrer le fichier sous le nom Visites.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    14/20

    Exercices VBA Excel Macros Dcembre 2001

    Page 14 sur 20 Laurent DUPRAT

    Changer la casse

    Objectif :

    Crer une macro 30 minLaurent DUPRAT

    Consignes de ralisation :

    Saisir les informations ci-dessous :

    Crer la macro MinToMaj qui permet de mettre en majuscules le contenu de chaque

    cellule slectionne.

    (pour cela, il faut compter le nombre de cellules dans la slection puis, avec une boucle,

    changer la casse, cellule par cellule)

    Remarque : pour transformer des minuscules en majuscules, utiliser la fonction UCase

    Dupliquer la macro prcdente pour crer la macro MajToMinqui permet de mettre en

    minuscules le contenu de chaque cellule slectionne.

    Remarque : pour transformer des majuscules en minuscules, utiliser la fonction LCase

    Tester les deux macros sur des slections diffrentes.

    Enregistrer le classeur sous le nom Casse.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    15/20

    Dcembre 2001 Macros Exercices VBA Excel

    Laurent DUPRAT Page 15 sur 20

    Calendrier

    Objectif :

    Crer une macro 1 heureLaurent DUPRAT

    Consignes de ralisation :

    Ouvrir le fichier Calendrier:

    Pour mettre jour ce calendrier, il suffit de saisir la premire date voulue dans la cellule A1.

    Remplacer la date actuelle par 01/01/01.Le calendrier ce met jour.

    Seule la mise en forme ne change pas (cellules transparentes ou grises).

    Enregistrer une macro Gris qui grise les deux cellules cte cte partir de la cellule

    active puis qui passe la cellule du dessous.

    Enregistrer une macro Transparentqui rend les deux cellules cte cte transparentes

    partir de la cellule active puis qui passe la cellule du dessous.

    Cliquer dans une cellule contenant une date (par exemple A4) puis excuter la macro

    souhaite (Transparent ou Gris) en fonction de la date.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    16/20

    Exercices VBA Excel Macros Dcembre 2001

    Page 16 sur 20 Laurent DUPRAT

    Crer la macro MiseEnForme qui excute lune des macros existantes (Transparent ou

    Gris) en fonction de la date pour une colonne entire (un mois).

    Tester la macro sur plusieurs colonnes.

    Modifier ventuellement la macro pour quelle fonctionne dans tous les cas.

    Remarques :

    Vous devez griser les cellules lorsquil ny a pas de date.

    Vous trouverez lquivalent de la fonction Excel JOURSEM en code VBA.

    Modifier la macro prcdente pour quelle mette en forme lensemble du planning (les

    douze mois).

    Remarque : la macro sexcutera toujours partir de la cellule A4 et reviendra en cellule B4.

    Tester la macro.

    Protger la feuille

    Prparer la protection :

    Dverrouiller les cellules dans lesquelles lutilisateur pourra saisir des informations (par

    exemple, A1, B4:B34, ...)

    Masquer les cellules contenant les formules de calcul pour quelles napparaissent pas

    dans la barre de formule.

    Protger la feuille.

    Tester la macro.

    Celle-ci ne peut pas sexcuter du fait de la protection.

    Modifier la macro.

    Tester la macro.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    17/20

    Dcembre 2001 Macros Exercices VBA Excel

    Laurent DUPRAT Page 17 sur 20

    Onglets (1)

    Objectif :

    Crer une macro30 min

    Laurent DUPRAT

    Consignes de ralisation :

    Crer une macro qui permet dattribuer chacune des feuilles dun classeur le nom du

    dpartement saisi dans la cellule B1de chaque feuille.

    Feuil1

    Feuil2

    Feuil3

    Enregistrer le classeur sous le nom NomFeuilles.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    18/20

    Exercices VBA Excel Macros Dcembre 2001

    Page 18 sur 20 Laurent DUPRAT

    Onglets (2)

    Objectif :

    Crer une macro 30 minLaurent DUPRAT

    Consignes de ralisation

    Crer une macro qui permet de trier automatiquement les feuilles du classeur

    NomFeuillespar ordre alphabtique.

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    19/20

    Fin des exercices

  • 7/26/2019 VBA Excel 2000 - Livret d'Exercices

    20/20