BONJOUR
Je suis entrain d'apprendre à gérer les tableaux sous VBA car je manipule des tableaux sous Excel (Tri, filtre, formule etc...). Ces tableaux rendent mon fichier très lourd et l'exécution des macros est lente.
Du coup j'essaye de créer des tableaux et d'en faire des manipulations standards (tri filtre calcul...).
A ce jour j'ai réussi à créer le tableau dans VBA depuis un tableau dans Excel et de trouver les 3 valeurs les plus grandes de la 2eme colonne.
Le tableau est le suivant dans Excel:
- 1er ligne= Titre (Type, Valeur,Qté,Row)
- 2er ligne= Valeur (LF7 ,89 ,5 ,20)
- 3er ligne= Valeur (LF14, 5 ,2 ,35)
- 4er ligne= Valeur (LF7 , 3 ,4 ,7)
- 5er ligne= Valeur (LF7 ,14 ,8 ,65)
- 6er ligne= Valeur (LF14,25 ,7 ,45)
Désormais je cherche les fonctions de filtre, tri pour récupérer la valeur de la colonne "Row" correspondant a SMax1 (si plusieurs SMax1 de meme valeur, je tri par la quantité pour prendre la première par défaut) seulement pour les Type LF7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub Tableau() Der = Worksheets("Sheet1").Range("A1048455").End(xlUp).Row Dim tab_prob(5, 3) For i = 0 To Der - 1 For c = 0 To 3 tab_prob(i, c) = Cells(i + 1, c + 1) Next Next SMax1 = Application.Large(Application.Index(tab_prob, , 2), 1) SMax2 = Application.Large(Application.Index(tab_prob, , 2), 2) SMax3 = Application.Large(Application.Index(tab_prob, , 2), 3) End Sub
L'enchainement des fonctions/Applications se fait comme ci dessous
1- Filtre colonne Type LF7
PUIS
2- Tri colonne Qte par ordre croissant
PUIS
3- trouver la ligne du tableau ayant le chiffre le plus grand dans la colonne Valeur
PUIS
4- Renvoyer la valeur de la colonne "Row" de la ligne ayant le chiffre le plus grand dans la colonne Valeur
Merci d'avance poru votre aide
Jerome
Partager