Programmation VBA pour Excel
Accueil
Sommaire du cours
Sommaire des exercices
Résumé du cours
Forum
Travaux
TICE
AgroParisTech
About
©AgroParisTech
Première macro, utilisation de l'enregistreur de macro
Exercices
Exercice 1
Créer une macro macro_entete qui écrit dans la cellule A1 le texte « EGE » en caractères gras, dans la cellule B1 « Informations clients» et dans la cellule G1 la date du jour en caractères italiques. Une fois votre macro enregistrée vérifiez que son comportement correspond bien à vos attentes en la lançant.
Pour avoir la date du jour, tapez "=AUJOURDHUI()" dans une cellule.

Hide

Sub macro_entete()

Range("A1").Select

ActiveCell.FormulaR1C1 = "EGE"

Range("A1").Select

Selection.Font.Bold = True

Range("B1").Select

ActiveCell.FormulaR1C1 = "information Clients"

Range("G1").Select

ActiveCell.FormulaR1C1 = "=TODAY()"

Range("G1").Select

Selection.Font.Italic = True

End Sub

Hide

Exercice 2
Enregistrer une macro nommée macro_mise_en_page qui écrit les éléments suivants : Produits, Quantités, Total en colonne à partir de la cellule active.
Attention au mode de repérage des cellules, il faut utiliser l’enregistreur de macro avec référence relative aux cellules.

Hide

Sub macro_mise_en_page()

ActiveCell.FormulaR1C1 = "Produits"

ActiveCell.Offset(1, 0).Range("A1").Select

ActiveCell.FormulaR1C1 = "Quantites"

ActiveCell.Offset(1, 0).Range("A1").Select

ActiveCell.FormulaR1C1 = "Total"

End Sub

Hide

Exercice 3
Enregistrer une macro nommée macro_copie qui copie le contenu de la cellule active dans la cellule qui se trouve dans la même colonne et 2 lignes plus bas que la cellule active.
Attention au mode de repérage des cellules, il faut utiliser l’enregistreur de macro avec référence relative aux cellules.

Hide

Sub macro_copie()

Selection.Copy

ActiveCell.Offset(3, 0).Range("A1").Select

ActiveSheet.Paste

End Sub

Hide

Exercice 4
Enregistrer une macro nommée macro_stat qui fournit la moyenne dans la cellule A12 et l’écart-type dans la cellule A13 des nombres contenus dans les lignes A1 à A10.
La formule de la moyenne est =MOYENNE(valeurs).
La formule de l'écart-type est =ECARTYPE(valeurs).

Hide

Le code VBA de votre macro devrait ressembler plus ou moins à ceci :

Sub macro_stat()

Range("A12").Select

ActiveCell.FormulaR1C1 = "=AVERAGE(R[-11]C:R[-2]C)"

Range("A13").Select

ActiveCell.FormulaR1C1 = "=STDEV.S(R[-12]C:R[-3]C)"

Range("A14").Select

End Sub

Ne vous étonnez pas de la notation étrange des formules de la moyenne et de l'écart-type, c'est l'enregistreur de macros qui traduit automatiquement.

Hide

Exercice 5
Enregistrer une macro nommée macro_batons qui insère dans la feuille courante le diagramme en bâton pour les cellules A1-A10.
Faites comme si vous réalisiez un simple diagramme en bâtons après avoir lancé l'enregistrement, pas besoin d'un bac+12 en Excel pour réussir cet exercice.

Hide

Le code VBA de votre macro devrait ressembler plus ou moins à ceci :

Sub macro_batons()

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Range("A1:A10")

End Sub

Hide

Félicitations, vous avez terminé les exercices de ce chapitre.
Vous pouvez passer au chapitre suivant en cliquant sur ce lien ou sur la flèche droite en dessous. Vous pouvez également retourner sur le chapitre en cours en cliquant sur la flèche gauche.