Récupérer la cellule sur laquel j'insere ma fonction

Bonjour,

Petite question, je fais une fonction qui récupère la cellule où j'insère ma fonction pour pouvoir récupérer les cellues à côté.

Je pensais à ActiveCell mais ça ne fonctionne pas.

Exemple : je voulais faire en A1:

Public Function Test()
Application.Volatile

Test =  (Cells(ActiveCell.Row + 1, ActiveCell.Column) + ActiveCell
End Function

Bref cette fonction ne représente pas la réalité mais vous avez comprise que je veux remplacer ActiveCell

Bonjour.

Tu souhaites l'adresse de la cellule ? Dans ce cas il faut rajouter Address donc ActiveCell.Address

Bonne journée.

Elhevan a écrit :

Bonjour.

Tu souhaites l'adresse de la cellule ? Dans ce cas il faut rajouter Address donc ActiveCell.Address

Bonne journée.

Non c'est pas ce que je veux, je veux la cellule ou j'insère ma fonction parce que activecell, c'est la cellule active du coup si j'ai une autre fonction qui fait la même chose, mon résultat est faussé, si personne voit ce que je veux dire, je vais vous faire un fichier test !

Hm, je dirais pas non à un fichier test

Bonjour,

Remarque :

1) On ne met généralement pas Public pour une procédure car toutes les procédures sont publiques par défaut, de même qu'on ne met pas Private pour une variable parce que toutes les variables sont privées par défaut...

Cela ne nuit pas au résultat, mais c'est un usage suffisamment général et bien ancré pour le suivre naturellement, ce qui démontre que l'on maîtrise un peu les rudiments de VBA sur la portée des procédures et des variables...

2) Tu ne peux pas faire ce que tu souhaites avec une fonction car tu vas créer une référence circulaire...

Tu ne peux opérer sur la valeur de la cellule elle-même dans un calcul qu'à partir d'une évènementielle qui interviendra de l'extérieur pour produire le résultat cherché.

3) ActiveCell n'est pas utilisable dans une fonction pour renvoyer la cellule qui accueille la fonction.

Pour cela il faut utiliser : Application.Caller ou Application.ThisCell (ce qui renverra la cellule qui appelle le code...

Mais évidemment, ce n'est utilisable que pour d'autres propriétés que Value, pour ne pas retomber dans un calcul à référence circulaire.

Cordialement.

Bonjour,

au pire au début de la fonction, récupère directement les adresse de la cellule est le stock dans un variable que tu garde de coté

je dit sa parce que je ne sais pas vraiment ce que vous comptez faire de cette variable ^^

D'accord MFerrand,

J'ai bien comprise ta réponse et je suis content de partager tes connaissances, Merci !

Je vouldrais juste un conseil; voilà le problème:

(En Gros) J'ai deux tableaux identiques qui font le même calcul (pour le moment) et je voulais créer une seule fonction pour éviter d'en écrire deux. Tu me conseilles quoi ? en écrire deux en utilisant Cells ou Range ou alors il y a un autre moyen d'en écrire une seule ?

Les cases sont les mêmes ? Ce sont deux feuilles sur un même classeur ? Ou deux tableaux dans une même feuille ?

A ce stade, un fichier modèle permettrait sans doute d'y voir plus clair sur ce que tu veux faire !

Elhevan a écrit :

Les cases sont les mêmes ? Ce sont deux feuilles sur un même classeur ? Ou deux tableaux dans une même feuille ?

Même Feuille, deux tableaux mais ils sont organisés de la même façon, je prépare le fichier Test

Voilà le fichier, les cases où il y a marquer "Test3" et "Test4" sont les fonctions que j'aimerais copier de Test1 et Test2 sachant que ce ne sont pas les même cellule !

[EDIT]

J'avais oublié de mettre le fichier, la fatigue !

!

c'est moi où y a pas fichier

Une fonction qui calcule toujours sur la même cellule, ça ne va pas avoir beaucoup d'utilisations !

Indique clairement le principe de ton calcul qu'on puisse généraliser ça (la fonction manque visiblement d'arguments).

Rechercher des sujets similaires à "recuperer laquel insere fonction"