Utiliser Les Variables Tableaux En VBA Excel - SilkyRoad
Maybe your like
Tous les exemples vus jusqu'à présent étaient à dimension unique:Dim NomTableau(2) As String 'déclare un tableau fixeReDim LeTableau(i) 'Redimensionne un tableau dynamique De la même manière, il est possible de créer des tableaux multidimensionnels statiques et dynamiques. Vous pouvez déclarer jusqu'à 60 dimensions dans une variable tableau. Il suffit d'insérer des virgules pour séparer chaque dimension, quand vous déclarez le tableau. Cet exemple déclare un tableau de 3 dimensions: Dim NomTableau(5, 10, 20) As Integer Le nombre total d'éléments disponible est donc le produit des tailles de toutes les dimensions.
Lorsque vous souhaitez agrandir un tableau dynamique tout en conservant les données existantes, seule la dernière dimension peut être redimensionnée (Voir le chapitre ReDim Preserve pour plus de détails).
Utilisez des boucles imbriquées pour manipuler les tableaux à plusieurs dimensions.
VbaSélectionnezOption Explicit Sub ExempleTableau_MultiDimensionnel() Dim i As Integer, j As Integer 'Définit le tableau à 2 dimensions ainsi que leur taille. Dim VarTab(1 To 3, 1 To 6) As String For i = 1 To UBound(VarTab, 1) 'boucle sur la 1ere dimension For j = 1 To UBound(VarTab, 2) 'boucle sur la 2eme dimension 'Alimente les éléments du tableaux VarTab(i, j) = i & j 'Lit les éléments du tableau Debug.Print VarTab(i, j) Next j Next i End SubLe code suivant alimente chaque élément du tableau avec des lettres aléatoires, entre A et Z. Ensuite la macro trie par ordre croissant une des colonnes (au choix de l'utilisateur), dans la 1ere dimension du tableau.
VbaSélectionnezOption Explicit Sub TriCroissantMulticolonnes() 'Déclare un tableau à 2 dimensions. Dim Tableau(1 To 4, 1 To 50) As String Dim i As Integer, j As Integer, y As Integer Dim indexColTri As Byte Dim t As Variant Dim Resultat As String '-----Chargement du tableau ----------------- 'Remplit chaque élément avec des lettres aléatoires, entre A et Z For i = 1 To UBound(Tableau, 2) For j = 1 To UBound(Tableau, 1) Randomize Tableau(j, i) = Chr(Int((26 * Rnd) + 1) + 64) Next j Next i '-------------------------------------------- '---- Applique un tri sur une des colonnes du tableau ----- 'Choisissez la colonne à trier: 1= 1ere colonne , 2= 2eme colonne...etc ... indexColTri = 1 'On sort si l'index de colonne indiqué (indexColTri) est plus grand que la taille de la première 'dimension dans le tableau. If indexColTri > UBound(Tableau, 1) Then Exit Sub For i = 1 To UBound(Tableau, 2) For j = 1 To UBound(Tableau, 2) - 1 '--------- 'syntaxe pour le tri de données type Date 'If CDate(Tableau(indexColTri, j)) > CDate(Tableau(indexColTri, j + 1)) Then 'Pensez à adapter le type de variable: Dim Tableau(1 To 4, 1 To 50) As Date 'syntaxe pour le tri de données type numérique 'If CDec(Tableau(indexColTri, j)) > CDec(Tableau(indexColTri, j + 1)) Then 'Pensez à adapter le type de variable: Dim Tableau(1 To 4, 1 To 50) As Long ... 'syntaxe pour le tri de données type Texte If Tableau(indexColTri, j) > Tableau(indexColTri, j + 1) Then '--------- For y = 1 To UBound(Tableau, 1) t = Tableau(y, j) Tableau(y, j) = Tableau(y, j + 1) Tableau(y, j + 1) = t Next y End If Next j Next i '------------------------------------------------------------ '---- Affiche le résultat dans la fenêtre d'exécution ------- For i = 1 To UBound(Tableau, 2) Resultat = "" For j = 1 To UBound(Tableau, 1) Resultat = Resultat & Tableau(j, i) & vbTab Next j Debug.Print Resultat Next i '------------------------------------------------------------ End SubTag » Code Vba Pour Créer Un Tableau
-
Cours VBA : Utilisations Des Tableaux - Excel
-
Cours VBA : Utilisations Des Tableaux (partie 2) - Excel
-
5 Techniques Pour Manipuler Les Tableaux Excel En VBA
-
Déclaration De Tableaux (VBA) | Microsoft Docs
-
VBA - Tableaux Et ListObjects - Automate Excel
-
Tableaux VBA - Automate Excel
-
[VBA-E] Comment Créer Un Tableau Sous Vba Excel
-
Comment Créer Un Tableau Par Macro - FAQ Excel
-
COMMENT CRÉER UN TABLEAU CROISÉ DYNAMIQUE EN VBA ...
-
Macros-commandes VBA/Création De Tableau Croisé - Wikiversité
-
Créer Un Tableau Croisé Dynamique à L'aide D'une Macro | Editions ENI
-
[PDF] Le Tableur EXCEL La Programmation En VBA - AgroParisTech
-
Macro, Créer - Tableau Excel
-
Mettre En Place Le Code Pour Créer Le Tableau En Mémoire - LinkedIn