.       .   

 .   

   . Accueil          .

 Connexion   

 S'inscrire   

 FAQ   

 Recherche    Documents  

 Annuaire   

Photos     Détente      Banque     Chat         Forum        . .                  .    .




 

VBA : tablaux et boucles

25 septembre 2007


-  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 For ... To ... 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 rentrer 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édures événementielles 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.


[ Imprimer cet article ] [ Haut ]

 
 
 
Commentez cet article



   
 

 
   

 
  Envoyer à un ami
Destinataire  :
(entrez l'email du destinataire)

De la part de 
(entrez votre nom)

(entrez votre email)



[ Imprimer cet article ]

Rechercher :
 

 
Autres articles

VBA : analyse et programmation
VBA : traitements des chaines de caractères
VBA - compléments et programmation
VBA : les structures de contrôle
VBA : interactivité, variables et conditions
VBA : les structures conditionnelles
Excel : quelques fonctions avancées
Informatique : Les astuces de base
Excel : utilisation et astuces
Programmation VBA - introduction
Macros SAS
Initiation au logiciel SAS
Création de site Internet avec Dreamweaver
Créer votre site Internet avec FrontPage
Initiation aux réseaux
Les bases du réseau Internet
Les virus informatiques


[ Haut ]
 

 

   Contact                                                    © Niant - Copyrightdepot.com                                          CNIL 

Positionnement et Statistiques Gratuites

SPIP , bloOg