Passer au contenu

Ecrire des macros simples

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.


Sub MultiCentrer()


Selection.HorizontalAlignment = xlCenterAcross Selec tion


End Sub

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.


Sub SupprimeTousNoms ()


Dim CeNom as Object


For Each CeNom In ActiveWorkbook. Names


CeNom. Delete


Next CeNom


End Sub

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Etienne Oehmichen