Les commentaires :
' Ceci est un commentaire
' Ceci est un commentaire
objet.propriété = valeur (principalement pour la mise en forme des cellules)
objet.méthode
Exemple : le terme "select" est une méthode permettant de sélectionner un objet.
' Range("plage") : plage de cellule (cellule unique, cellules, une ligne ou une colonne)
Range("A1").Select
Range("A1:G23").Select
' Cells(n° ligne, n° colonne) : cellule
Cells(1, 1).Select ' A1
Cells(2, 4).Select ' D2
' Rows : ligne
Rows("1:1").Select ' ou Rows("1").Select' 1 ligne
Rows("1:4").Select ' plusieurs lignes
' Columns : colonne
Columns("A:A").Select ' ou Columns("A").Select ' 1 colonnes
Columns(1).Select ' sélection de la colonne 1 ("A")' 1 colonnes
Columns("A:B").Select ' plusieurs colonnes
' Sheets/Worksheet : feuille de calcul
Sheets("Feuil1").Select ' ou Sheets("Feuil1").activate
Worksheet("Feuil1").Select ' ou Worksheet("Feuil1").activate
' Workbook : classeur
Workbooks("classeur2").select ' ou Workbooks("classeur2").Activate
' Application : application
' ActiveCell : cellule active
' ActiveSheet : feuille active
' ActiveWorkbook/ThisWorkbook : classeur actif
Range("A1").Value = "Bonjour" ' ou Range("A1") = "Bonjour"
Range("A1").Value = 5 ' pas entre guillemets car c'est une valeur numérique
Range("A1").Value = 5.5 ' le format des nombres décimaux est avec un point et non une virgule
Range("A1").Formula = "=A2+B2" ' ou Range("A1") = "=A2+B2"
' Les objets doivent être utilisés et sélectionnés dans l'ordre de la hiérarchie
' Du plus général au plus spécifique :
' Application* > Workbook > Worksheet > Range/Cells/Rows/Columns
' Application est utilisé dans certains cas précis
Workbooks("classeur2").activate
Sheets("Feuil1").activate
Range("A1").Select
' Il est préférable de ne pas utiliser la méthode "Select" mais d'utiliser directement l'objet
' en programmation, moins il y a d'instructions, plus le code est rapide et efficace
' Il est possible d'appliquer une action à plusieurs objets en même temps (hors "Select") :
Workbooks("classeur2").Sheets("Feuil1").Range("A1").value = "Bonjour"
' Propriété : Interior - intérieur de la cellule
Range("A1").Interior.Color = vbRed ' couleur de fond cellule rouge
'vbRed, vbGreen, vbBlue, vbYellow, vbMagenta, vbCyan, vbWhite, vbBlack
' Propriété : Font - mise en forme de la police
Range("A1").Font.Color = vbWhite ' couleur de la police
Range("A1").Font.Bold = True ' True ou False (gras ou pas)
Range("A1").Font.Italic = True ' True ou False (italique ou pas)
Range("A1").Font.Name = "Calibri" ' police d'écriture
Range("A1").Font.Size = 12 ' taille de la police
Range("A1").Interior.Color = RGB(21, 61, 100) 'bleu foncé
With Range("D7")
.Value = "ABC"
.Interior.Color = RGB(90, 90, 90) 'gris foncé
With .Font
.Color = vbWhite
.Name = "Calibri"
.Bold = True
End With
End With
' Propriété : Borders - bordures
'Valeurs supprimées :
'.ColorIndex = 0 ' valeur nulle donc pas utile
'.TintAndShade = 0 ' valeur nulle donc pas utile
'.Weight = xlThin ' épaisseur de la ligne - inutile car c'est la valeur application par défaut
' Code simplifié/nettoyé comparé à l'enregistreur de macros :
With Range("A1:D10")
.Borders(xlEdgeLeft).LineStyle = xlContinuous ' type de ligne
.Borders(xlEdgeTop).LineStyle = xlContinuous ' type de ligne
.Borders(xlEdgeBottom).LineStyle = xlContinuous ' type de ligne
.Borders(xlEdgeRight).LineStyle = xlContinuous ' type de ligne
.Borders(xlInsideVertical).LineStyle = xlContinuous ' type de ligne
.Borders(xlInsideHorizontal).LineStyle = xlContinuous ' type de ligne
.Borders(xlEdgeLeft).Color = RGB(100, 100, 100) ' type de ligne ' couleur de la ligne
.Borders(xlEdgeTop).Color = RGB(100, 100, 100) ' type de ligne ' couleur de la ligne
.Borders(xlEdgeBottom).Color = RGB(100, 100, 100) ' type de ligne ' couleur de la ligne
.Borders(xlEdgeRight).Color = RGB(100, 100, 100) ' type de ligne ' couleur de la ligne
.Borders(xlInsideVertical).Color = RGB(100, 100, 100) ' type de ligne ' couleur de la ligne
.Borders(xlInsideHorizontal).Color = RGB(100, 100, 100) ' type de ligne 'couleur de la ligne
End With
' Méthode "Clear"
Range("A1").Clear ' efface tout (format + contenu)
Range("A1").ClearFormats ' efface le format
Range("A1").ClearContents ' efface le contenu
Columns("A").Delete ' supprime l'objet
' Attention :
' Lors de la suppression d'une ou plusieurs lignes ou une ou plusieurs colonnes, les éléments suivants se décalent.
' Exemple :
' J'ai des données dans les colonnes de A jusqu'à F. Si je supprime la colonne D, les éléments qui se trouvaient dans la colonne E se trouveront colonne D et ceux de la colonne F se trouveront colonne E.
' La colonne F deviendra vide
' Seuls les objets et leur contenu peuvent être supprimés
' Les méthodes pour supprimer certains éléments diffèrent (à tester avec l'enregistreur de macros)
' Enlever la couleur de fond d'une cellule :
Range("A1").Selection.Interior.Pattern = xlNone
' Enlever une ou des bordures :
Range("A1:B2").Borders(xlDiagonalDown).LineStyle = xlNone ' "xlDiagonalDown" doit être modifié selon la bordure à supprimer
Columns("F:F").ColumnWidth = 15 ' largeur de la colonne F
Rows("1:1").RowHeight = 20 ' hauteur de la ligne 1
Cells.Select ' sélections de toutes les cellules de la feuille
Cells.EntireColumn.AutoFit ' ajustement auto de la largeur des colonnes (correspond à un double clic sur la bordure droite de la colonne)
Cells.EntireRow.AutoFit ' ajustement auto de la hauteurs des lignes (correspond à un double clic sur la bordure inférieure de la ligne)
Objets
Valeurs
Variables
Propriétés
Méthodes