Vous êtes sur la page 1sur 3

VBA sous EXCEL

3 demi-journées de cours + une demi-journée d’examen

Application :
Workbooks0, workbooks1, workbooks2
Worksheets0, Worksheets1, … worksheets(“mafeuille”)
Cells : cell 0, cell1, cell2

Désigner un endroit

workbooks(1).worksheets(1).
Range(« A1 ») = cells(1,1) = cells(ligne,colonne)
Range(“A1:B4”) = boucle en mode cellule

Ouvrir et fermer un classeur

Workbooks.add(« C:\.....xls »)
Workbooks(“classeur1”).close()

1 – Variables

Dim nom as type


Nom = alphanumérique, pas d’espace, pas de caractère spéciaux sauf underscore
Type =
Numérique : entier (integer ou long) ou réel (single ou double)
Chaine de caractères : string
Booléen : boolean (valeur = true or false)
Date : date

Dim client1 as long

Madate = #10/01/2010#

2 – Opérateurs

Affectafion :

Dim i as long <- ligne de déclaration


I=2 <- ligne d’initiation des variables
I=I+1 <- ligne de construction

Opérateurs : +, -, /, \,* et &


Ecrire dans une cellule

Dim message as string


Message = « bonjour »
Range(« A1 »).value = message

C’est une propriété

Lire une cellule

Message = Range(« A1 »).value

C’est une méthode

3 – Structure de contrôle

If assertion then

Elseif assertion then

Else

End if

4 – Structure de contrôle

Dim i as long

For i = 1 to 4
Range(“B”&i).value
5 - Codage

Private Sub Btn_for_next_Click()

Dim i As Long, somme As Long, fin As Long, e As Long, r As Long, fine As Long, finr As Long, finf As Long

r=2
e=2
fin = Range("b1").End(xlDown).Row
finr = Range("e1").End(xlDown).Row
fine = Range("h1").End(xlDown).Row

' Vider le tableau

MsgBox "Erase Data"

If finr < fine Then


finf = fine
Else
finf = finr
End If

Range("E2:I" & finf).Select


Selection.ClearContents
Selection.Interior.Pattern = xlNone
Selection.Font.Bold = False
Selection.Font.Italic = False
Range("B1").Select

' Classement

MsgBox "Classement"

For i = 2 To fin

If Range("C" & i).Value >= 10 Then

Range("e" & r).Value = Range("b" & i).Value


Range("F" & r).Value = Range("c" & i).Value
r=r+1
Else

Range("h" & e).Value = Range("b" & i).Value


Range("i" & e).Value = Range("c" & i).Value
e=e+1
End If

Next i

Range("e" & r).Value = "Total"


Range("F" & r).Value = r - 2
Range("e" & r).Interior.Color = vbYellow
Range("e" & r).Font.Bold = True
Range("e" & r).Font.Italic = True
Range("f" & r).Interior.Color = vbYellow
Range("f" & r).Font.Bold = True
Range("f" & r).Font.Italic = True

Range("h" & e).Value = "Total"


Range("i" & e).Value = e - 2
Range("h" & e).Interior.Color = vbYellow
Range("h" & e).Font.Bold = True
Range("h" & e).Font.Italic = True

Range("i" & e).Interior.Color = vbYellow


Range("i" & e).Font.Bold = True
Range("i" & e).Font.Italic = True

End Sub

Vous aimerez peut-être aussi