Accueil           Recherche       Annuaire   

 Album   

Documents       Jeux     Chat     Blogs     Forum

Pratique
Formation-Orientation
Stage - Job
Vie étudiante
Sexualité - Psycho
Documents
Droit
Gestion
Finance
Economie
Econométrie
Commerce
Sciences sociales
Informatique
Détente
Test d'intelligence
Quiz
Humour
Jeux
Plus!
Traducteur
Annuaire inversé
Cartes & itinéraires
Service public
A propos
Charte du site
Récompenses
Nous recommander
Partenaires
Contact

 PROGRAMMATION VBA : TABLEAUX ET BOUCLES

Support logiciels     Culture informatique    Programmation

 

Structure de tableau

 

On a souvent besoin de travailler sur un ensemble de données.

Un exemple géographique : les températures moyennes des 12 mois de l'année.

On pourrait déclarer 12 variables identiques :

Dim Temp1, Temp2, Temp3, Temp4, … … …, Temp12 as Single

On dispose d'une structure de données appelée Tableau qui permet de conserver dans une seule "entité" plusieurs valeurs de même type.

Le nom du tableau est une variable qu'il est recommandé de préfixer par Tab.

Le nombre de valeurs de types identiques est à déclarer entre parenthèses.

Exemple 1 : Dim TabTemp(12) As Single

Numéro

1

2

3

4

5

Température

6

5,5

7

11,5

15

L'accés à la case numéro 3 se fait par TabTemp(3) qui vaut 7.

 

Exemple 2 : Dim TabMajuscules(65 to 90) As String

Numéro

65

66

67

89

90

Majuscule

A

B

C

Y

Z

 

Boucles en nombre défini

Cette boucle est utilisée si l’on connait à l’avance le nombre de fois qu’elle sera parcourue.

Syntaxe :

For Compteur = Début To Fin [Step Incrément]

Instructions

[ ... Exit For]

[Instructions]

Next [Compteur]

Le test est effectué au début de la boucle.

La variable numérique Compteur est incrémentée à chaque fin de boucle du nombre indiqué par l’incrément. Si l’incrément n’est pas spécifié il est fixé à 1.

Si la valeur de Fin est inférieure à la valeur de Début l’incrément est négatif.

La valeur de Compteur peut être utilisée (par exemple pour numéroter le passage dans la boucle) mais ne doit pas être modifiée dans le corps de la boucle.

Exemple :

For i = 1 To 50

TabInitial(i) = 0 ‘ Initialisation de chaque case à 0

Next i

 

Remplissage d'un tableau

Pour remplir un tableau on le balaye avec une boucle ForTo Next (car le nombre de cases est connu à l'avance).

Exemple 1 :

Dim TabTemp(12) As Single

Dim Compteur As Integer

For Compteur = 1 To 12

TabTemp(Compteur)=InputBox("Température N° " & Compteur)

Next Compteur

Exemple 2 :

Dim TabTirageLoto(6) As Integer

Dim Compteur As Integer

For Compteur = 1 To 6

TabTirageLoto (Compteur)=Rnd * 48 + 1

Next Compteur

' Il y a une imperfection dans ce tirage des 6 numéros du Loto !

Traitement des valeurs d'un tableau

On suppose rentrées les 12 températures dans un tableau de Single appelé TabTemp.

On veut rechercher la température maximale dans ce tableau de 12 températures.

Il s'agit donc de balayer ce tableau et de conserver la valeur maximale dans une variable.

Au départ on suppose que la température maximale est la première du tableau.

Dim Compteur As Integer

Dim TempMaxi As Single

TempMaxi=TabTemp(1)

For Compteur = 2 To 12

If TabTemp(Compteur)>TempMaxi Then TempMaxi=TabTemp(Compteur)

Next Compteur

A la fin du processus la variable TempMaxi contiendra la valeur recherchée.

 

Déclarations publiques et procédures publiques

Si une variable est déclarée au début d'une procédure événementielle par l'instruction Dim elle n’est alors valide que pour cette procédure. L'existence et la valeur de la variable disparaissent avec l'instruction End Sub.

Toute référence à cette variable en dehors de cette procédure événementielle provoquera une erreur de compilation.

Si une variable est déclarée avant toute procédure événementielle par l'instruction Public elle est valide dans toutes les procédures de la feuille.

Exemple :

Public NomDuJoueur As String ‘ cette variable sera utilisable

' dans toutes les procédures événementielles de la feuille.

La déclaration d'un tableau ne "supporte" pas le mot réservé Public. Il faudra alors utiliser le mot réservé Dim même si c'est une déclaration publique.

Exemple :

Dim TabNotes(5) As Single Ce tableau sera utilisable dans

'toutes les procédures événementielles de la feuille.

Si une procédure non-événementielle est déclarée avant toute procédure événementielle par l'instruction Public elle sera utilisable dans toutes les proc. ev. de la feuille.

Exemple :

Public Sub SaisieTempérature()

Température = InputBox("Taper une température")

Somme = Somme + Température

End Sub

'Cela présuppose une déclaration initiale des variables publiques

'Température et Somme.

Cette procédure sera exécutée à chaque appel par son nom : SaisieTempérature.

Haut de page    

Contact                                                    © Niant - Copyrightdepot.com                                          Site déclaré à la CNIL 

Positionnement et Statistiques Gratuites