Pour vous aider à faire vos premiers pas en VBA, nous allons débuter par une série d’exemples de macros mettant en ?”uvre des concepts élémentaires de programmation.
Modifiez des attributs de cellules
Ce que fait la macro : Elle met en gras et en italique les cellules sélectionnées dans une feuille Excel.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules.
Sub GrasItalique ()
Selection.Font.Bold =True
Selection.Font.Italic=True
End Sub
Recopiez une cellule
Ce que fait la macro : Dans la feuille courante, elle recopie la cellule sélectionnée dans la cellule A1. Préparation : Ouvrez une feuille Excel et sélectionnez une cellule quelconque contenant des données.
Sub Copie ()
Selection.Copy
ActiveSheet.Paste Destination := Range (‘ A1 ‘)
End Sub
Changez des attributs de cellules
Ce que fait la macro : La même chose que la macro GrasItalique.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules.
Sub GrasItaliqueMeilleur()
With Selection.Font.Bold = True
. Italic = True
End With
End Sub
Ajoutez 15 % à toutes les cellules sélectionnées
Ce que fait la macro : Elle multiplie par 1,15 le contenu de toutes les cellules de la sélection.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules contenant des nombres.
Sub Multiplier1 ()
For Each MaCellule In Selection
MaCellule.Value = MaCellule. Value * 1.15
Next MaCellule
End Sub
Fusionnez une cellule sur plusieurs lignes
Ce que fait la macro : Elle fusionne le contenu des cellules d’une colonne sur plusieurs autres colonnes contiguës.Préparation : Ouvrez une feuille Excel et sélectionnez une plage dans laquelle la colonne de gauche contient des données et les autres colonnes sont vides. Lancez la macro. Chaque texte de la colonne de gauche est centré sur toute la largeur des colonnes sélectionnées. C’est l’équivalent de ce que donne le bouton Fusionner de la barre d’outils Mise en forme, mais appliqué à plusieurs lignes.
Ajoutez un pourcentage à toutes les cellules sélectionnées
Ce que fait la macro : Elle ajoute à toutes les cellules de la sélection un pourcentage demandé à l’utilisateur en début de macro.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules contenant des nombres.
Sub Multiplier2()
Dim Taux as Single Taux = InputBox (‘ Taux d’augmentation ‘)
For Each Cellule In Selection
Cellule.Value = Cellule.Value * (1 + Taux / 100)
Next Cellule
End Sub
Ajoutez un pourcentage donné à certaines cellules de la sélection
Ce que fait la macro : Elle ajoute, à toutes les cellules de la sélection dont le contenu est inférieur à 100, un pourcentage demandé à l’utilisateur en début de macro.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules contenant des nombres.
Sub Multiplier3 ()
Dim Taux as Single Taux = InputBox (‘ Taux d’augmentation ‘)
For Each Cellule In Selection
If Cellule.Value < 100 Then
Cellule.Value = Cellule. Value * (1 + Taux / 100)
End If
Next Cellule
End Sub
Inversez l’attribut Gras de toutes les cellules sélectionnées
Ce que fait la macro : Dans toutes les cellules sélectionnées, elle met en caractères gras les cellules qui ne l’étaient pas et réciproquement.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules dont certaines sont en caractères gras.
Sub InverseGras1 ( )
For Each Cellule In Selection
If Cellule.Font.Bold Then
Cellule.Font.Bold = False
Else
Cellule.Font.Bold = True
End If
Next Cellule
End Sub
Inversez l’attribut Gras de toutes les cellules sélectionnées
Ce que fait la macro : Elle fait exactement la même chose que la macro InverseGras, mais un peu plus vite.Préparation : Dans une feuille Excel, sélectionnez une plage de cellules dont certaines sont en caractères gras.
Sub InverseGras2 ( )
For Each Cellule In Selection
Cellule.Font.Bold = not Cellule.Font.Bold
Next Cellule
End Sub
Supprimez tous les noms dans une feuille de calcul
Ce que fait la macro : Elle efface tous les noms de champs que lon a créés dans une feuille de calcul. Les champs eux-mêmes ne sont pas effacés.Préparation : Lancez Excel et ouvrez un classeur, puis activez une feuille contenant des noms de champs.