Bonjour à tous,
Dans mon fichier de compte (Excel 2016), j'utilise régulièrement la fonction INDIRECT dans mes cellules, généralement pour comparer la valeur en cours d'un compte en banque avec sa valeur le mois précédent. Ca donne qqch comme ceci (ici, je compare si mon compte en banque a grossi ou si j'ai trop dépensé en soustrayant l'un à l'autre) :
où
Code : Sélectionner tout - Visualiser dans une fenêtre à part =Etat_CompteCourant-INDIRECT("'"&Var_MoisPrecedent&"'!Etat_CompteCourant")
- Etat_CompteCourant = Nom attribué au niveau de la feuille (pas du classeur) qui pointe vers la cellule comportant la valeur du compte en banque
- Var_MoisPrecedent = Nom de l'onglet contenant les chiffres du mois précédent
Ca fonctionne très bien mais le code est un peu long (d'autant plus que je compare toujours une valeur avec le mois précédent).
Je cherche à créer une fonction moisprecedent() que j'aimerais utiliser ainsi :
Et là, dans VBA, je me fais jeter comme un malpropre... Je veux dire, je n'arrive même pas à renvoyer quoique ce soit qui ressemblerait à un INDIRECT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =Etat_CompteCourant-moisprecedent(Etat_CompteCourant)
Là, même en simplifiant dans un premier temps l'INDIRECT en retirant les variables (Var_MoisPrecedent, Etat_CompteCourant), ça me renvoie une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Function MoisPrecedent() As String MoisPrecedent = INDIRECT("Juin'19!E6") End Function
Savez-vous pourquoi et comment m'en sortir ?
Partager