0% ont trouvé ce document utile (0 vote)
56 vues26 pages

Introduction au langage Visual Basic

Le chapitre 1 présente Visual Basic (VB), un langage de programmation développé par Microsoft, en se concentrant sur sa syntaxe, la déclaration des variables, les types de données et les opérations applicables. Il explique également les commandes d'entrée et de sortie de données, ainsi que les structures conditionnelles. Ce chapitre sert d'introduction aux concepts fondamentaux nécessaires pour programmer en VB.

Transféré par

Guira Yahaya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues26 pages

Introduction au langage Visual Basic

Le chapitre 1 présente Visual Basic (VB), un langage de programmation développé par Microsoft, en se concentrant sur sa syntaxe, la déclaration des variables, les types de données et les opérations applicables. Il explique également les commandes d'entrée et de sortie de données, ainsi que les structures conditionnelles. Ce chapitre sert d'introduction aux concepts fondamentaux nécessaires pour programmer en VB.

Transféré par

Guira Yahaya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 1 : Langage VB

J. Introduction
Visual Basic (V13) est un langage de programmation développé par Microsoft, conçu pour être
facile à apprendre et à utiliser. li est particulièrement populaire pour le développement
d'applications Windows grâce à son interface graphique intuitive et sa syntaxe simple. Ce
chapitre introduit les bases du langage Visual Basic, en couvrant la structure d'un programme,
les types de données, les instructions de base, el l'interface de programmation.
NB : avant de commencer à coder dans le logiciel vba, il faut afficher la page du développeur.
Pour se faire il faut activer l' onglet DEVELOPPEUR:

Fichier> option> personnaliser le ruban> cocher Développeur dans les onglets


principaux

...

,,1, .......
-. ,..... ... _.--. .,
-,......,.. -
,., ;;"'-..,.
."""'
,...,........
rt=-~~
,1 ,, ._
1 ,t....
..... ,,ooc.. 1
'
1
·--

..,_..........
1 ......
· ·· ~

. """
1·: ,- :. .,u..:-
1~"" ...... ....
M•·~- ~• - -- :, , . c...i.- • r'u
r:: ~ ,...,.._...,... . t

1·"---"
.·"~
1
,.. c....... ......
! ut-- 11.._,. _.._ r
1•""'---
- ____ ,__ •-
1 .,,r-,...,.,.__,
•I n.-. .... - ........ 11s~.._.,...,
.......... -

.......... ..,._..,....
1,. ,., .... . ....
,l.:it....,_..
~

~ -•~ l
- -- ;.._

~~I
1

.,
Ci ~ ......

Il. A ,1uoi ressemble un code vba


Un code vba ressemble à une procédure qui a un nom
J. Syntaxe:
Sub mon_code()
// instructions
End sub

Scanné avec CamScanner


7

Ill. Déclaration des yariablcs en Visual Basic


En Visual Basic (VB), les \'ariablcs sont utilisées pour stocker des données temporaires
pendant l'exécution du programme. La déclaration des variables est une étape essentielle pour
définir leur type et leur portée.

l. Syntaxe de déclaration d'une variable


La déclaration d'une variable se fait à l'aide du mot-clé Dim (abréviation de "Dimension").

La syntaxe générale est la suivante :

Dim nomVariable As TypeDeDonnee

• nomVariable: Nom de la variable (doit respecter les règles de nommage).

• TypeDeDonncc : Type de données que la variable peut stocker (par


exemple, Jnteger, String, Double, etc.).

Exemples:

Dim age As lnteger

Dim nom As String

Dim solde As Double


IV. II. Règles de nommagc des variables
1. Caractères autorisés :

• Les noms de variables peuvent contenir des lettres, des chiffres et des
underscores LJ.

• Ils doivent commencer par une lettre.

2. Sensibilité à la casse :
• Visual Basic n'est pas sensible à la casse. Ainsi, nom et Nom sont considérés comme
identiques.

3. Mots réservés :
• Les noms de variables ne peuvent pas être des mots réservés du langage (par
exemple, Dim, As, Jnteger, etc.).

4. Longueur maximale :
• Les noms de variables peuvent contenir jusqu'à 255 caractères.

Exemples

Dim prenom As String

Dim note ) As Double

Dim _ total As Decimal

Scanné avec Cam Scanner


S. lnitinlisntion des ,•nrinblc!i
Une vurinblc peut être initioli ée (c'csl-ù-dire recevoir une valeur initiale) au moment de sa
déclaration ou plus tard dans Il! programme.

6. 1nith,lisation lors de la déclnrntion :

Dim age t\.s lntcgcr = 25

Dim nom As String = "Alice"


7. Initialisation ultérieure:
Dim solde As Double

Solde = 1000.50

V. Types de données et les opérations applicables en Visual Basic


En Visual Basic (VB), les types de données définissent le genre de valeurs qu'une variable
peut stocker, tandis que les opérations applicables déterminent les actions que vous pouvez
effectuer sur ces données.
a) Types de données en Visual Basic
Visual Basic prend en charge plusieurs types de données, classés en catégories principales :
a) Types numériques :

Integer: Entier signé sur 32 bits (de -2 147 483 648 à 2 147 483 647).
Dim age As Integer = 25
Long : Entier signé sur 64 bits (plus grande plage que Integer).
Dim population As Long = 7800000000
Single : Nombre à virgule flottante simple précision (32 bits).
Dim temperature As Single= 23.5
Double: Nombre à virgule flottante double précision (64 bits).
Dim pi As Double = 3.14159
Decimal : Nombre décimal sur 128 bits, idéal pour les calculs financiers précis.
Dim salaire As Decimal = 2500.75

j
Scanné avec CamScanner
Il , J . •• N', • ,,,, ,.

h) lyprs textuels :
String : Séquence de caractères (texte).
· = "Jean Dupon· l 11
Dim nom As Strmg
Char : Un seul caractère Unicode.
Dim initiale As Char= "J"
c) Types booléens :
Boolcan : Représente une valeur vraie (True) ou fausse (False).

bim estActif As Boolean =True


d) Types dates :

Date : Stocke une date et une heure.

Dim aujourdHui As Date= #12/31/2023 [Link]#


e) Types objets :

Object : Peut contenir n'importe quel type de données.

Dim valeur As Object = "Ceci est un objet"


f) Autres types :

Byte: Entier non signé sur 8 bits (de Oà 255).


Dim octet As Byte= 255

Short: Entier signé sur 16 bits (de -32 768 à 32 767).

J?im petitNombre As Short = 1000


II. Opérations applicables en Visual Basic
Les opérations applicables dépendent du type de données.

1. Opérations arithmétiques (pour les types numériques) :

• Addition(+): resultat = nombrel + nombre2


• Soustraction(-): resultat = nombrel - nombre2
• Multiplication(*): resultat = nombrel * nombre2
• Division(/): resultat = nombrel / nombre2
• Division entière(\): resultat = nombrel \ nombre2
• Modulo (Mod): reste= nombrel Mod nombre2
• Exponentiation("'): resultat = nombrel "'nombre2
Exemple:

Dim a As Integer = 10
Dim b As Integer = 3
Dim somme As Integer = a + b ' Résultat : 13

Scanné avec CamScanner


,J

pim reste A':> lntcgcr c a Mod b' Résultat : 1


2. Opérutions de comp:m1ison {pour tous les types) :
• Égalité(=): If a = b Thcn
• Inégalité(<>): If a <> b Thcn
,
I

• Supérieur à(>): If a > b Thcn


• lnféricurà(<):lfa < bThen
• Supérieur ou égal à(>=) : If a>= b Thcn
• Inférieur ou égal à(<=) : If a<= b Then
Exemple:
If age>= 18 Thcn
msgBox ("Majeur")
Else
msgBox ("Mineur")
End If
3. Opérations logiques (pour les types booléens) :
• ET logique (And) : If condition! And condition2 Tuen
• OU logique (Or) : If condition} Or condition2 Tuen
• NON logique (Not) : If Not condition Tuen
• OU exclusif (Xor) : If condition 1 Xor condition2 Tuen
Exemple:
Dim estEtudiant As Boolean = True
Dim estMajeur As Boolean =True
If estEtudiant And estMajeur Then
msgBox("Étudiant majeur")
End If
4. Opérations sur les chaînes de caractères (pour les types String) :
• Concaténation (& ou +) : nomComplet = prenom & " " & nom
• Longueur d'une chaîne : longueur= [Link]
• Extraction de sous-chaîne : sousChaine = [Link](0, 3)
• Recherche : position= [Link]üf("Dupont")

Scanné avec CamScanner


,..
L: arrp,- .
• n:-, = "'Je;::n"'
Dinl rrcnom As tn"''-
[)iJD nom A s [Link] = "'Dupo 1•
"· ' R' ~ : '"Je::n ~ ...
Dim nomCompl t As trin~ = pren rn & .. '" o: ruim

5. Opérations sur les dates (pour le type D:11"' :


• Ajout de jours : nouYelteD:11e = 11jou.rtlHui_i\ddD:1~ 10

• Comparaison de dates : If datel > date2 Th n

• Extraction de compos:ints : annee = aujourdHui.Y~

[Link]:

Dim aujourdHui As Date = [Link]


Dim dans J OJours As Date = [Link]( l 0)

msgBo · ("Dans 10 jours:" & danslOJours)


JII. Connrsion de types
VisuaJ Basic pennet de convertir un type de données en un autre à l'aide de fonctions de
conversion :
• Clntü : Com·ertit en lnteger.

• CDblO : Convertit en Double.


• CStrQ : Convertit en String.

• CBoolO : Convertit en Boolean.


• CDatc() : Convertit en Date.

Exemple:

Dim nombre As String = "123"

Dim valeur As lnteger = Clnt(nombre)' Conversion en lnteger

IV. Les commandes d'entrée et de sortie de données

En VBA (Visual Basic for Applications), les commandes d'entrée et de sortie de données
permettent d'interagir avec l'utilisateur via des boites de dialogue ou la console.

Scanné avec CamScanner


1. INPUTBOX

.' La fonction lnputllox est une boîte de dialogue gui pcnnet ù l'utilisateur de saisir des
données. Elle retourne la valeur saisie par l'utilisateur sous forme de chaîne de caractères
(String).
Syntaxe:

Dim nom As String


nom= lnputBox("Entrez votre nom :", "Saisie du nom")
• Le premier argument est le message affiché dans la boîte de dialogue.
• Le deuxième argument est Je titre de la boîte de dialogue.
• La valeur saisie par ]'utilisateur est stockée dans la variable nom.

Exemple
Sub DemanderNomO
Dim nom As String
nom= InputBox("Entrez votre nom :", "Saisie du nom")
MsgBox "Bonjour," & nom & "!"
End Sub
[Link]
La fonction MsgBox est utilisée pour afficher une boîte de dialogue avec un message à
l'utilisateur. Elle peut également inclure des boutons (comme "OK", "Oui/Non", "Annuler") et
des icônes (information, avertissement, erreur).
Syntaxe:
MsgBox "Opération terminée avec succès!", vblnfom1ation, "Information"
• Le premier argument est le message à afficher.
• Le deuxième argument (optionnel) spécifie les boutons et l'icône (par
exemple, vblnformation, vbExclamation, vb YesNo).
• Le troisième argument (optionnel) est le titre de la boîte de dialogue.
Exemples:
Boîte simple avec un bouton "OK" :
MsgBox "Bonjour, monde!"

Scanné avec Camscanner


Boîte avec des boutons "Oui/Non" :

Dim reponse As VbMsgBoxResult


reponse = MsgBox(''Voulez-vous continuer?", vb YesNo +vbQuestion, "Confinnation")

If reponse = vb Yes Then


MsgBox "Vous avez choisi Oui."
Else
MsgBox "Vous avez choisi Non."
End If

3. PRINT
En VBA, la commande PRINT est utilisée pour afficher des infonnations dans la fenêtre de
débogage (Immediate Window) ou sur une feuille Excel. Elle est souvent utilisée pour le
débogage ou l'affichage de résultats.
Syntaxe :
11
[Link] "Bonjour, & nom
Ce code affiche "Bonjour, " suivi de la valeur de la variable nom dans la fenêtre Immcdiate
Window (accessible via Ctrl + G dans l'éditeur VBA).

Scanné avec Cam Scanner


CHAPITRE 2 : LES STRU CTURES CONDITIONNELLES
lntrodnction

b 1VOJ\ (Vi suul IJnsic for Applications), les ~tructures co11ditio1111cll cs pcrrncllcnt de conlrblcr
le tlux <l'cxl'.cution du code en fonction de cc rtnincs conditions. Les principales structures
conditionnelles en VBJ\ sont :
1. 1f...Then ... Elsc
La strncturc lf.. .Then... Elsc est la plus couramment utilisée pour exécuter un bloc de code si
une condition est vraie cl éventuellement un autre bloc si lu condition est fau sse.
'
:a) Syntaxe de base :
If condition Then
' Code à exécuter si la condition est vraie
Else
' Code à exécuter si la condition est fausse
End If
b) Exemple:
Dim age As Integer
age= 20
If age >= 18 Tuen
MsgBox "Vous êtes majeur."
Else
MsgBox "Vous êtes mineur."
1
End If
[Link] avec Elself:
Vous pouvez ajouter plusieurs conditions avec Elself:
Syntaxe:
If conditionl Tuen
' Code si condition 1 est vraie
0

Elself condition2 Then


' Code si condition2 est vraie

'Else
' Code si aucune des conditions n'est vraie

Sca nné avec CamSca nn er


E11dlf
n) Exemple:
Dim score As Intcger
score = 85

1f score >= 90 Thcn

MsgBox "Excellent!"

Elsclf score >= 75 Then

MsgBox "Ilien!"

El self score >= 50 Then

MsgBox "Passable."

Else
MsgBox "Insuffisant."

End If
2. Select Case
La structure Select Case est utile lorsque vous avez plusieurs conditions à vérifier sur une
même variable ou expression. Elle est souvent plus lisible qu'une série de If... Elself.
a) Syntaxe:
Select Case expression
Case valeurl
' Code à exécuter si expression = valeur 1

Case valeur2
' Code à exécuter si expression = valeur2

Case Else
' Code à exécuter si aucune des valeurs ne correspond

End Select
b) Exemple:
Dun jour As String
jour= "Lundi"

Select Case jour

Case "Lundi"

MsgBox "C'est le début de la semaine."

10

Scanné avec Cam Scanner


Cn c "\h:n<lrcdi"
tvlsglJox "C'est bientôt le Wl:ck-cnd l"

Case Elsc
·MsglJox "C'est un autre jour de ln semaine."

End Select
3. llf (Fonction comlitionnelle)
La fonction IIf est une fonction conditionnelle qui pcm1ct d'évaluer une expression et de
retourner une valeur en fonction du résultat de l'évaluation.

a) Syntaxe:
resultat = IIf(condition, valeur_si_vrai, valeur_si_faux)
b) Exemple:

Dim age As Integer


age= 20
Dim statut As String
statut= IIf(age >= 18, "Majeur", "Mineur")
MsgBox statut
4. Choix entre If...Then ... Else et Select Case

• Utilisez lf...Then... Else lorsque vous avez des conditions complexes ou lorsque vous
devez évaluer plusieurs expressions différentes.
• Utilisez Select Case lorsque vous avez une seule expression à évaluer et que vous avez
plusieurs valeurs possibles à vérifier.
5. Nested If (If imbriqués)

Vous pouvez imbriquer des structures If pour gérer des conditions plus complexes.
Dim x As Integer
Dim y As lnteger

x= 10
y=20
lfx> 5 Then
Ify > 15 Then

MsgBox "x est supérieur à 5 et y est supérieur à 15"


Else
MsgBox "x est supérieur à 5 mais y est inférieur ou égal à 15"
11

Scanné avec CamScanner


\

\
End If

Else

MsgBox "x est inférieur ou égal à 5"

End If

Conclusion

Les structures conditionnelles en VBA sont essentielles pour créer des programmes
dynamiques qui réagissent différemment en fonction des données ou des entrées utilisateur.
Le choix entre If...Then ...Else et Select Case dépend de la complexité des conditions et de la
lisibilité du code.

12

Sca nné avec Ca m Sca nner


CHAPITRE 3 : LES STRUCTURES REPETITIVES
Introduction

En VBA (Visual Basic for Applications), les structures répétitives (ou boucles) pcnncllcnt
, d'exécuter un bloc de code plusieurs fois, en fonction d'une condition ou d'un nombre
d'itérations spécifié. Les principales structures répétitives en VBA sont :
1. Boucle For... Next
La boucle For... Next est utilisée pour répéter un bloc de code un nombre spécifié de fois. Elle
est souvent utilisée lorsque le nombre d'itérations est connu à l'avance.
a) Syntaxe:
For i = début To fin (Step pas]
' Code à répéter
Next i
• i: Variable qui sert d'indice pour la boucle.

• début : Valeur initiale du compteur.

• fin: Valeur finale de l'indice(compteur).


• pas (optionnel) : Incrément ou décrément du compteur (par défaut, Step 1).

b) Exemple :

For i = 1 To 5
MsgBox "Itération numéro " & i
Next i
2. Boucle For Each ...Next
La boucle For Each ...Next est utilisée pour parcourir tous les éléments d'une collection
(comme une plage de cellules, un tableau, etc.).
a) Syntaxe:
For Each élément In collection
' Code à répéter pour chaque élément
Next élément
b) Exemple avec une plage de cellules:
Dim cellule As Range
For Each cellule In Range("Al :Al 0")
If [Link]> 50 Then
[Link] = RGB(255, 0, 0) 'Colorer la cellule en rouge

13

Scanné avec CamScanner


End If
Ncst cclluk
3. Boudl' Do Whill' ... Loop
Ln boucle Oo Whilc ... Loop répctc un bloc de code tnnl qu'une condition est vraie. La
condition est v~riliéc nvunl chaque itérntion.
n) Synt11xe :

Do White condition

'Code à répéter

Loop
b) Exl'mple:
Dim compteur As lnlcger

compteur = 1

Do White compteur <= 5

MsgBox "Itération numéro" & compteur


compteur = compteur + compteur

Loop
4. Boucle Do Until ... Loop
La boucle Do Until...Loop répète un bloc de code jusqu'à ce qu'une condition devienne vraie.
La condition est vérifiée avant chaque itération.
a) Syntaxe:
Do Until condition
' Code à répéter
Loop
b) Exemple:
Dim compteur As Integer
compteur= I
Do Until compteur> 5
MsgBox "Itération numéro " & compteur
compteur = compteur + 1
Loop

14

Scanné avec Ca mScanner


S. Boucle Do ... Loop Whilc
La boucle Do ...Loop While répète un bloc de code tant qu'une condilion [Link] vrnic, mois Jo
condition est vérifiée nprès chaque itération. Ccln garantit que le hloc de code est exécuté ou
moins une fois.

a) Syntaxe:

Do
'Code à répéter

Loop White condition


b) Exemple:
Dim compteur As Integer

compteur == l

Do
MsgBox "Itération numéro " & compteur
compteur== compteur + l
Loop While compteur <== 5
6. Boucle Do ... Loop Until
La boucle Do... Loop Until répète un bloc de code jusqu'à ce qu'une condition devienne vraie,
mais )a condition est vérifiée après chaque itération. Cela garantit que le bloc de code est
exécuté au moins une fois.
a) Syntaxe:

Do
' Code à répéter
Loop Until condition
b) Exemple:

Dim i As Integer
i =1
Do
MsgBox "Itération numéro " & i
i =i +1
Loop Until i > 5

15

Scanné avec CamScanner


F

7. Sorlir d'une boucle :l\'cc Exil For ou Exit l>o


\
Vous pouvc1. quiller une boucle prématurément en ulili anl Exil For (pour le boucles For) \

ou Exil Do (pour les boucles Do),


n) Exemple 11\'cc Exit For:
Fori = 1 To 10
If i = 5 ·n1en

Exil For
End If
MsgBox "Itération numéro " & i
Ncxt i

b) Exemple avec Exit Do:

Dim i As lnteger

i=1
Do While i <= 10
If i = 5 Tuen

Exit Do
End If
MsgBox "Itération numéro " & i
i =i + 1
Loop

8. Boucles imbriquées
Vous pouvez imbriquer des boucles pour gérer des structures plus complexes.

a) Exemple:

For i = 1 To 3

For j = 1 To 2
MsgBox "i =" & i & ",j =" &j

Nextj
Next i

16

Scanné avec CamScanner


0 oc\usion

. c tures répétitives en VBA sont essentielles pour automatiser


e~ 'stru · d es ta~ches
. .répétitives et
ll3J1Jpuler des collections de données. Le choix de la boucle dépend de la situation :
• Utilisez For.... Next lorsque le nombre d'itérations est connu .
• Utilisez For Each ... Next pour parcourir des collections .
• Utilisez Do While ... Loop ou Do Until...Loop lorsque la condition de répétition est
dynamique.

17

Scanné avec CamScanner


CI-IAPITRE 4 : LES TABLEAUX
Introduction

En VB/\ (VisuaJ Basic for Applications). les tnbleaux (ou nrruys) ont des structun:s de
données qui pennettent de stocker plusieurs voleurs du m~mc type dons une seule variable.
Les tableaux sont très utiles pour manipuler des ensembles de données de manière efficace.

Il existe deux types de tableau : Tableau à une dimension (vecteur) et Tableau


multidimensionnel
1. Déclaration d'un tableau à une dimension (nctcur)

Un tableau peut être déclaré en spécifiant son nom. son type et sa taille.
a) Syntaxe de base :

Dim nom_du_tableau(taille) As Type


• nom_du_tableau: Nom de la variable tableau.

• taille : Nombre d'éléments dans le tableau (l'indice commence à Opar défaut).

• Type : Type de données des éléments du tableau (par exemple, lnteger, String, Double,
etc.).
Exemple:
Dim nombres(5) As lnteger' Un tableau de 6 éléments (indices 0 à 5)
2. Accéder aux éléments d'un tableau

Les éléments d'un tableau sont accessibles via leur indice. Les indices commencent à 0 par
défaut.
a) Exemple:

Dim nombrcs(5) As lntegcr


nombres(0) = 10
nombres(I) = 20
nombres{2) = 30
MsgBox nombres( 1) 'Affiche 20

3. Tableaux multidimensionnels

Les tableaux peuvent avoir plusieurs dimensions (par exemple, une matrice).
a) Syntaxe:

Dim nom_du_tableau(ligne, colonne) As Type


b) Exemple:

18

Scanné avec Cam Scanner


f)im matrice(2, 3) As lnteger' Un tableau 3x4 (3 lignes, 4 colonnes)

rnatrice(0, 0) = l
/
. matrice(0, l) = 2

matrice( l, 0) = 3

matrice(l, l) = 4

MsgBox matrice( l , 0) ' Affiche 3


4. Tableaux dynamiques
Les tableaux dynamiques pennellent de définir la taille du tableau au moment de l'exécution.
a) Syntaxe:

Dim nom_du_tableauO As Type


ReDim nom du tableau(taille)
• ReDim : Redéfinit la taille du tableau.
• Prescn•c : Pennet de conserver les données existantes lors du redimensionnement.

b) Exemple:

Dim nombresO As lnteger


ReDim nombres(5) 'Tableau de 6 éléments
nombres(O) = 10
nombres( 1) = 20
ReDim Preserve nombres(JO)' Redimensionne le tableau tout en conservant les valeurs
existantes
5. Fonctions utiles pour les tableaux

a. UBound
Retourne l'indice maximal d'un tableau.
Exemple:

Dim nombres(S) As Integer


MsgBox UBound(nombres) 'Affiche 5
b. LBound
Retourne l'indice minimal d'un tableau (généralement 0).
Exemple:

Dim nombres(5) As Integer

19

Scanné avec CamScanner


t-.1 gBox [Link](no111lm· ) 'Affiche O
c. Arn,y
Permet de cr~er cl d'inilioliscr un tnhleou en une cule ligne.
Exemple:
Dim jours A1-o Variant
jours = Array("Lundi", "Mor<li", "Mercredi", "Jeudi". "Vendredi")
MsgUox jours(2) 'Amehe "Mercredi"
6. Parcourir un tableau
Vous pouvez utiliser une boucle For...Ncxt ou For Each ... Next pour parcourir un tableau.
Exemple ~n·ee For... Ncxt :
Dim nombrcs(S) As Integer
Dim i As lnteger
For i =LI3ound(nombrcs) To UBound(nombres)
nombres(i) = i • 10
MsgBox nombrcs(i)
Next i

Exemple a,•ee For Eaeh ... Next :


Dim nombres(S) As Integer
Dim valeur As Variant
nombres(O) = 10
nombres(})= 20
nombres(2) = 30
For Each valeur In nombres
MsgBox valeur
Next valeur

7. Tableaux et plages Exeel


Les tableaux sont souvent utilisés pour manipuler des données provenant de plages Excel.
Exemple : Lire une plage dans un tableau

20

Scanné avec CamScanner


n iin donnecs As Variant

·d )tUlees = Rangc("A 1:C3").Valuc' Stocke les valeurs de la plage A 1:C3 dans un tableau

lsgBox donnees(2, 3) 'Atliche la valeur de la cellule C3

Exemple : Écrire un tableau dans une plage


Dim donnees(2, 2) As Variant

donnees(0, 0) == "A"

donnces(0, 1) = "B"

donnees(l , 0) = "C"
donnees( 1, 1) == "D"

Range("A 1:B2").Value == donnees' Écrit le tableau dans la plage Al :B2


8. Tableaux de collections

Vous pouvez également utiliser des collections pour stocker des ensembles de données
dynamiques.
Exemple:

Dim coll As New Collection


[Link] "Lundi"
[Link] "Mardi"
[Link] "Mercredi"
MsgBox coll(2) 'Affiche "Mardi"

Conclusion

Les tableaux en VBA sont des outils puissants pour manipuler des ensembles de données. Ils
peuvent être statiques ou dynamiques, à une ou plusieurs dimensions. Les tableaux sont
souvent utilisés en conjonction avec des boucles pour traiter des données de manière efficace,
notamment dans des applications Excel.

21

Scanné a vec Cam Scanner


CHAPITRE 5: LES FONCTIONS ET LES PROCEDURES
lntrocJurtion

En VDA (Visual Dasic for Application ), les fonction , et les procédures sonl des bloc de
code n:utilisahlcs qui penncttcnt d'organiser et de modulariser votre programme. Elle onl
c entidlcs pour éviter la répétition de code cl faciliter la maintenance.

1. Procédures (Sub)
Une procédure est un bloc de code qui exécute une tâche spécifique. Elle ne renvoie pas de
valeur.
a) Syntaxe:
Sub NornDeLaProcedurc([paramètres])
' Code à exécuter
End Sub
• NomDcLaProccdure: Nom de la procédure.
• paramètres (optionnels): Variables passées à la procédure pour qu'elle les utilise.
b) Exemple:
Sub AfficherMessage()
MsgBox "Bonjour, ceci est une procédure!"
End Sub
[Link] d'une procédure :
AfficherMessage 'Affiche "Bonjour, ceci est une procédure!"
Exemple avec paramètres :
Sub AfficherNom(nom As String)
MsgBox "Bonjour, " & nom & 11 !11
End Sub
[Link] avec paramètres :
AfficherNom "Alice" 'Affiche "Bonjour, Alice!"
2. Fonctions (Function)
Une fonction est similaire à une procédure, mais elle renvoie une valeur.
a) Syntaxe:
Function NomDeLaFonction([paramètres]) As Type
' Code à exécuter

22

Scanné avec CamScanner


- -romD Lalonction =valeur-retour
.

[Link] f [Link]

• NomDeLaFonction : Nom de la fonction.

• paramètres (optionnels): Variables passées à la fonction.

• Type : Type de données de la valeur retournée (par exemple, Integer. String, Double,
etc.).

• yalcur_rctour: Valeur que la fonction renvoie.


b) Exemple:
function Addition(a As Integer, b As lnteger) As Integer
Addition = a + b
End Function
[Link] d'une fonction:
Dirn resultat As lnteger
Nsultat = Addition(S, 3) 'resultat = 8
MsgBox rcsultat

3. Différences entre Sub et Fonction

Caractéristique Sub Function


Retourne une valeur Non Oui
Utilisation Pour exécuter une tâche Pour calculer et retourner une valeur
Exemple Sub AfficherMessageQ Fonction Addition(a, b)

4. Paramètres optionnels
Vous pouvez définir des paramètres optionnels dans une procédure ou une fonction. Ces
paramètres ont une valeur par défaut si aucune valeur n'est fournie.
a) Syntaxe:

Sub NomDelaProcedure(paraml As Type, Optional param2 As Type= valeur_par_defaut)


b) Exemple:

[Link](nom As String, Optional age As Integer = 18)


!':1sgBox "Nom:" & nom & ",Âge:" & age

23

Scann é avec CamScanner


Fnd Suh
c) Appel:

AOichcrlnfo "Alice"' Affiche "Nom : Alice, Âge : 18"


Allichcrlnfu "Bob". 25 'Aniche "Nom : llob, Âge : 25"
5. Pnssagc tic p:munèlrcs par référence (ByRcl) cl 1111r , 1 alcur (UyVal)

• ByRcf (par défaut) : Les modifications apportées au paramètre dans la procédure ou la


fonction alîcctcnt la variable d'origine.
• llyVnl : Une copie de la variable est passée, les modifications n'afTectcnt pas la
variable d'origine.

Exemple :
Sub ModifierValcur(ByRcf x As lntegcr)
X= X + 10

End Sub

Sub ExempleByRcfQ
Dim a As lntcger
a=5
ModificrValeur a
MsgBox a ' Affiche 15
End Sub

Sub ModifierValeur(ByVal x As Integer)

X= X+ 10

End Sub
Sub ExempleByVal()
Dim a As Integer

a=5
ModifierValeur a
MsgBox a 'Affiche 5 (la valeur originale n'est pas modifiée)
End Sub

24

Scanné avec CamScanner


onctions récursins

i: f, n lion récursive e tune fonction qui s'appelle cllc-rnémc.

em p \e : Calcul de la factorielle
ction Factorielle(n As lnteger) As lntegcr

lf n < = 1 l11en
Factorielle= 1

Else
Factorielle= n * Factoriclle(n - 1)

Endlf
End function

a) Appel de fonction récursive:

:MsgBox Factorielle(5) 'Affiche 120 (5! = 5 * 4 * 3 * 2 * 1)

7. Portée des procédures et fonctions


• Public : Accessible depuis tous les modules du projet.
• Priva te : Accessible uniquement dans le module où elle est définie.

Exemple:
Public Sub ProcedurePublique()
[Link] "Ceci est une procédure publique."
EndSub
Private Sub ProcedurePriveeQ
MsgBox "Ceci est une procédure privée."
End Sub

8. Utilisation dans Exccl


Les fonctions définies en VBA peuvent être utilisées directement dans les formules Excel.
Exemple:

Function TIC(ht As Double, tva As Double) As Double


TTC = ht * (1+ tva)
End Function

25

Scanné avec CamScanner


.....

Utilisation dans Exccl:


=TTC(l DO; 0.2) 'Retourne 120 si TVA = 20%

Conclusion
• Les procédures (Sub) sont utilisées pour exécuter des tâches sans retourner de valeur.
• Les fonctions (Function) sont utilisées pour retourner une valeur après un calcul ou
une opération.
• Les paramètres peuvent être passés par référence (ByRef) ou par valeur (ByVal).
• Les fonctions et procédures peuvent être publiques ou privées pour contrôler leur
portée.

• Les fonctions VBA peuvent être utilisées directement dans les formules Excel.

26
Scanné avec Cam Scanner

Vous aimerez peut-être aussi