Bonsoir,
Je me suis écrit une petite fonction qui transforme un tableau de nombres suivant la méthode des ondelettes de Haar :
C'est juste la première étape. Elle marche très bien quand je l'applique "à la main", mais je voudrais l'appliquer à la chaîne et je ne sais pas comment l'intégrer dans une procédure. J'ai trois questions en fait.
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
18
19
20
21
22 Function HAAR1(Table As Range) n = Table.Rows.Count ReDim Table1(n - 1, n - 1) ReDim Table2(n - 1, n - 1) For i = 1 To n For j = 1 To n / 2 Table1(i - 1, j - 1) = Table(i, 2 * j - 1) + Table(i, 2 * j) Table1(i - 1, n / 2 - 1 + j) = Table(i, 2 * j - 1) - Table(i, 2 * j) Next j Next i For j = 0 To n - 1 For i = 0 To n / 2 - 1 Table2(i, j) = (Table1(2 * i, j) + Table1(2 * i + 1, j)) / 2 Table2(n / 2 + i, j) = (Table1(2 * i, j) - Table1(2 * i + 1, j)) / 2 Next i Next j HAAR1 = Table2 End Function
1) Par miracle, ma fonction fonctionne, mais je n'ai pas compris quel type de variable elle me sort...! Elle prend un type Range en entrée, mais je ne crois pas qu'elle sorte un Range en sortie... du coup, je ne sais pas comment manipuler le tableau que j'obtiens en sortie.
2) Comment je peux récupérer sur la feuille 1 de mon classeur la plage de cellules contenant toutes les cellules non vides (c'est un bloc carré commençant en A1 mais de dimension variable) et la mettre dans une variable "Tableau_de_depart" (type Range) sur laquelle je pourrai appliquer ma fonction HAAR ?
3) Quand j'aurai transformé mon tableau_de_départ en appliquant la fonction HAAR plusieurs fois, je retrouve le résultat dans une variable "Tableau_d_arrive". Comment je fais pour l'afficher sur la feuille 2 ? Je dois l'afficher cellule par cellule avec deux boucles For Next et la fonction Cells par exemple ou il y a une instruction pour l'afficher directement ? Bien sûr, cette question est liée à la première !
Merci beaucoup d'avance.
Greg
Partager