Vous êtes sur la page 1sur 20

Introduction au langage VBA

Excel
M.BAIDADA
Les sélections
• La majorité des actions en VBA se font en sectionnant des plages dans
la feuille : cellules, plage de cellules, lignes, colonnes, …
Sélection syntaxe exemple
Sélection d'une cellule range("ref_cellule").select range("A2").select
Sélection d'une plage range("plage").select range("A2:C4").select
Sélection de cellules distinctes range("ref1,ref2,…").select range("A1,B3,G5").select
Sélection de plages nommée range("nom_plage").select range("ma_plage").select
Sélection avec notation ligne/colonne cells(ligne,colonne).select range(5,3).select
range("ligne1:ligne2").select range("3:5").select
Sélection de lignes
rows("colonne1:colonne2").select rows("3:5").select
range("colonne1:colonne2").select range("B:E").select
Sélection de colonnes
columns("colonne1:colonne2").select columns("B:E").select
Application
• Sachant que pour couper/coller (déplacer) un contenu, on écrit en
VBA :

Range("Plage_source").Select
Selection.Cut Destination:=Range("plage_cilbe")

Utiliser cette notation pour permuter le contenu de deux colonnes d’un


tableau
Les propriétés
• Permettent d’agir sur le contenu et l’apparence des cellules et des
feuilles
• Une fois un objet est sélectionné, par exemple avec la notation :
range("A1")
• Pour accéder à ses propriétés, il suffit de faire suivre la notation de la
sélection par un point
• Exemple :
range("A1").Value
Les propriétés
• Le point permet aussi de « naviguer » entre les objets pères et fils
d’excel, et atteindre finalement la proriété désirée de l’objet final
• Exemple :
Sheets("Feuil2").Range("A1").Value = 10
Les propriétés : mise en forme
• La propriété de mise en forme est : Font
• Elle possède elle-même des sous-propriétés qui permettent de définir
l’attribut de mise en forme à appliquer
• Exemple :
Range("A1").Font.Bold = True
Les propriétés : mise en forme
• Voici quelques propriétés de mise en forme (sous propriétés de Font)
:
• Bold : gras (true/false)
• Italic : italique (true/false)
• Size : taille (donner la valeur entière)
• Name : police (mettre le nom de la police entre guillemets)
• Color : couleur du texte
Exercice
• Écrire en VBA une macro commande, à qui il faut affecter un bouton,
qui permet de donner à la cellules A2 la même taille de police que la
cellule A1
Solution
Sub test()
Range("A2").Font.Size = Range("A1").Font.Size
End Sub
Les propriétés : jeux de couleurs
• Il y a plusieurs façons pour définir la couleur du contenu ou du fond
des cellules :

• Pour appliquer une couleur au contenu, en utilise la propriété Font


• Pour appliquer une couleur au fond, en utilise la propriété Interior
Les propriétés : jeux de couleurs – Méthode 1
• En utilisant la propriété ColorIndex, en
précisant une valeur de 1 à 56
• Exemple :
Range("A1").Font.ColorIndex = 27
Les propriétés : jeux de couleurs – Méthode 1
• En utilisant la propriété Color et la fonction RGB(val1,val2,val3)
• Les 3 valeurs indiquées précise une sorte de dosage respectif des 3
couleurs de base utilisées en informatique : le rouge, le vert et le bleu
• Ces valeurs vont de 0 à 255
Range("A2").Interior.Color = RGB(139, 67, 134)
• Il est très fréquent d’utiliser des logiciels de traitement d’images pour
avoir les valeurs correspondantes à une couleur désirée
Instruction : With
• L’instruction With permet de simplifier l’appel des propriétés pour un
même objet :
• On écrit :
with objet
.propriété1 = valeur
.propriété2 = valeur

.propriété1 = valeur
End with
Exercice
• Attribuer à la plage de cellules de A1 à E5, de la feuille « feuil3 », la
mise en forme suivante :
• Police : Verdana
• Taille : 18
• Couleur du texte : blanc
• Couleur du fond : Noir
• Utiliser With dans votre écriture
Solution
Sub test()
With Range("A1:E5")
.Font.Name = "verdana"
.Font.Size = 18
.Font.Color = RGB(255, 255, 255)
End With
Range("A1:E5").Interior.Color = RGB(0, 0, 0)
End Sub
Exercice
(découverte d’une propriété à l’aide de l’enregistreur)
• On souhaite ajouter un alignement centré à la mise en forme
appliquée dans l’exercice précédent
• N’ayant pas vu la propriété de mise en forme en VBA, il vous est
demandé de la découvrir en utilisant une macro commande à l’aide
de l’enregistreur, puis de l’appliquer en plus des propriété de la macro
de l’exercice précédent
Solution
Sub test()
With Range("A1:E5")
.Font.Name = "verdana"
.Font.Size = 18
.Font.Color = RGB(255, 255, 255)
Range("A1:E5").Interior.Color = RGB(0, 0, 0)
.HorizontalAlignment = xlCenter
End With
End Sub
Exercice : Calcul
• Écrire une macro commande, à qui il faut associer un bouton, et qui
doit permettre d’affecter à la cellule A5, la somme des valeurs des
cellules de A1 jusqu’à A4, et de mettre le résultat en rouge gras
Solution 1
Sub test()
Range("A5").Value = Range("A1").Value + Range("A2").Value +
Range("A3").Value + Range("A4").Value
With Range("A5").Font
.Color = RGB(255, 0, 0)
.Bold = True
End With
End Sub
Solution 2
Sub test()
Range("A5").Value = "=sum(A1:A4)"
With Range("A5").Font
.Color = RGB(255, 0, 0)
.Bold = True
End With
End Sub

Vous aimerez peut-être aussi