Bonjour,
J'aimerai faire une fonction qui renvoie une valeur contenue dans un tableau en fonction de l'intitulé de sa ligne et sa colonne.
Premier problème je n'ai aucune idée de comment parcourir le tableau (j'ai regardé l'aide F1 à Range, mais je ne parviens pas à trouver, et je ne sais pas s'il y a vraiment une solution).
Si j'arrivais à définir "Premiere_ligne", "Derniere_ligne" et "Premiere_colonne" et "Derniere_Colonne" dans le code, idéalement le code serait:
Mais l'autre problème c'est que même si la fonction Index() s'écrit bien comme ça en VBA lorsqu'on la met dans une Range().FormulaR1C1= (je l'ai testé en enregistrant une macro), ça n'a pas l'air de marcher hors d'une cellule excel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Function Val_Index(tablo As Range, titre_ligne As String, titre_col As String) As Variant Dim ligne, num_ligne, Premiere_ligne, Derniere_ligne As Integer Dim colonne, num_col, Premiere_colonne, Derniere_colonne As Integer For ligne = Premiere_ligne To Derniere_ligne If Index(tablo, ligne, 1) = titre_ligne Then num_ligne = ligne For colonne = Premiere_colonne To Derniere_colonne If Index(tablo, 1, colonne) = titre_col Then num_col = colonne Next colonne Next ligne Val_Index = Index(tablo, num_ligne, num_col) End Function
Voilà, je ne suis pas très avancée, même pas du tout, pour cette fonction, mais je ne sais vraiment pas comment m'y prendre.
Si quelqu'un accepte de donner un coup de main, je l'en remercie d'avance.
Partager