Bonjour,
J'ai un code assez simple à rédiger mais je bloque sur un petit détail. J'ai donc une fonction que j'aimerais pouvoir dérouler sur toute une colonne et qui s'actualise toute seule en fonction des modifications dans la feuille Excel. Pour cela j'ai trouvé la commande "Application.Volatile".
Voici mon code actuel :
Function F()
Application.Volatile
Dim i, j, k As Integer
i = ActiveCell.Row 'ligne
j = ActiveCell.Column 'colonne
k = i 'conservation du numéro de ligne initial
If Cells(i, j - 1).Value = "" Then
F = "" 'rien
Else
Do While Cells(i - 1, j).Value = "" 'recherche dernière ligne non vide au dessus dans la colonne
i = i - 1
Loop
F = Cells(i - 1, j).Value + Cells(k, j - 2).Value 'renvoie la valeur de la dernière ligne non vide au dessus dans la colonne trouvée dans la boucle à laquelle j'ajoute la valeur d'une cellule remplie manuellement dans la colonne j-2
End If
End Function
L'utilisation de la commande ActiveCell n'est en revanche pas adaptée pour mon problème, je voudrais savoir s'il y avait un équivalent pour récupérer le Range (ligne et colonne) de la cellule dans laquelle la fonction est active car actuellement si je modifie une cellule d'une autre colonne, c'est celle-ci qui est comptée comme ActiveCell pour la réactualisation des valeurs des fonctions.
J'espère avoir été assez clair dans mes explications, merci d'avance !