Formatage des Cellules en VBA

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on mai 1, 2023

Ce tutoriel explique comment formater des cellules à l’aide de VBA.

Formatage des Cellules

De nombreuses propriétés de formatage peuvent être définies pour une plage de cellule(s) comme celle-ci :

Sub DefinirFormatCell()

    With Worksheets("Feuil1").Range("B5:C7")
     .HorizontalAlignment = xlHAlignDistributed
     .AddIndent = True
     .Font.FontStyle = "Italic"
     .NumberFormat = "General"
     .Interior.Color = RGB(128, 100, 250)
    End With

End Sub

Voyons-les par ordre alphabétique :

AddIndent

En fixant la valeur de cette propriété à True, le texte sera automatiquement indenté lorsque l’alignement du texte dans la cellule est réglé, horizontalement ou verticalement, sur une distribution égale (voir HorizontalAlignment et VerticalAlignment).

With Worksheets("Feuil1").Range("A1")
 .Orientation = xlVertical
 .VerticalAlignment = xlVAlignDistributed
 .AddIndent = True
End With

Bordures

Vous pouvez définir le format de la bordure d’une cellule. Voir ici pour plus d’informations sur les bordures.

Par exemple, vous pouvez définir une ligne pointillée rouge autour de la cellule B2 de la feuille 1 comme suit :

Worksheets("Feuil1").Range("B2").BorderAround LineStyle:=xlDash, ColorIndex:=3

Police

Vous pouvez ajuster le format de la police de la cellule en définissant le nom, le style, la taille et la couleur de la police, en ajoutant des soulignements ou des effets (barré, indice inférieur ou supérieur). Voir ici pour plus d’informations sur les polices de cellules.

Voici quelques exemples :

With Range("A1:C5").Font
 .Name = "Century" 
 .FontStyle = "Bold" 
 .Strikethrough = True
End With

FormulaHidden

Cette propriété renvoie ou définit une valeur variante qui indique si la formule sera cachée lorsque la feuille de calcul est protégée. Par exemple :

 Worksheets("Feuil1").Range("A1:B1").FormulaHidden = True

HorizontalAlignment

Cette propriété de format de cellule renvoie ou définit une valeur variante qui représente l’alignement horizontal pour l’objet spécifié. Les constantes renvoyées ou définies peuvent être : xlGeneral, xlCenter, xlDistributed, xlJustify, xlLeft, xlRight, xlFill, xlCenterAcrossSelection. Par exemple :

Worksheets("Feuil1").Range("D3").HorizontalAlignment = xlRight

IndentLevel

Renvoie ou définit une valeur entière comprise entre 0 et 15 qui représente le niveau de retrait pour la cellule ou la plage.

Worksheets("Feuil1").Range("A1").IndentLevel = 7

Interior

Vous pouvez définir ou obtenir des informations sur l’intérieur de la cellule : sa couleur, son indice de couleur, son motif, sa couleur de motif, son indice de couleur de motif, son thème de couleur de motif, sa teinte et sa nuance de motif, sa couleur de thème, sa teinte et sa nuance, comme suit :

If Not Range("A1").Interior.ThemeColor = ThemeColorLight2 Then
   Range("A1").Interior.Pattern = xlPatternUp
End If

Locked

Cette propriété renvoie True si la cellule ou la plage est verrouillée, False si l’objet peut être modifié lorsque la feuille est protégée, ou Null si la plage spécifiée contient à la fois des cellules verrouillées et non verrouillées. Elle peut également être utilisée pour verrouiller ou déverrouiller des cellules.

Cet exemple déverrouille les cellules A1:B2 de Feuil1 afin qu’elles puissent être modifiées lorsque la feuille est protégée.

Worksheets("Feuil1").Range("A1:B2").Locked = False 
Worksheets("Feuil1").Protect

MergeCells

Attribuez la valeur True à cette propriété si vous devez fusionner une plage. Sa valeur devient True si la plage spécifiée contient des cellules fusionnées. Par exemple, si vous devez fusionner la plage C5:D7, vous pouvez utiliser ce code :

Worksheets("Feuil1").Range("C5:D7").MergeCells = True

NumberFormat

Vous pouvez définir le format des nombres dans les cellules comme suit : Général, Nombre, Devise, Comptabilité, Date, Heure, Pourcentage, Fraction, Scientifique, Texte, Spécial et Personnalisé.

Voici des exemples de formats de nombres scientifiques et de pourcentages :

Range("A1").NumberFormat = "0.00E+00"
Range("B1").NumberFormat = "0.00%"

NumberFormatLocal

Cette propriété renvoie ou définit une valeur variante qui représente le code de format de l’objet sous la forme d’une chaîne de caractères dans la langue de l’utilisateur.

Orientation

Cette propriété permet de définir (ou de récupérer) l’orientation du texte dans la ou les cellules. Sa valeur peut être l’une des constantes suivantes : xlDownward, xlHorizontal, xlUpward, xlVertical ou une valeur entière comprise entre -90 et 90 degrés.

Worksheets("Feuil1").Range("A1").Orientation = -60

Parent

Il s’agit d’une propriété en lecture seule qui renvoie l’objet parent de l’objet spécifié.

ShrinkToFit

Cette propriété renvoie ou définit une valeur variante qui indique si le texte est automatiquement réduit pour tenir dans la largeur de colonne disponible.

Worksheets("Feuil1").Range("A1").ShrinkToFit = True

VerticalAlignment

Cette propriété de format de cellule renvoie ou définit une valeur variante qui représente l’alignement vertical de l’objet spécifié. Les constantes renvoyées ou définies peuvent être : xlCenter, xlDistributed, xlJustify, xlBottom, xlTop. Par exemple :

Worksheets("Feuil1").Range("A1").VerticalAlignment = xlTop

WrapText

Cette propriété renvoie la valeur True si le texte est renvoyé à la ligne dans toutes les cellules de la plage spécifiée, False si le texte n’est pas renvoyé à la ligne dans toutes les cellules de la plage spécifiée, ou Null si la plage spécifiée contient des cellules qui renvoie le texte et d’autres qui ne le font pas.

Par exemple, si vous avez cette plage de cellules :wrap text

le code ci-dessous renverra Null dans la fenêtre immédiate:

?Worksheets("Feuil1").Range("A1:B1").WrapText
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA