IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Faire référence à la cellule où se trouve la formule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Markos22
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2016
    Messages : 198
    Par défaut Faire référence à la cellule où se trouve la formule
    Bonjour à tous,

    Je suis débutant en VBA. Je souhaite créer une fonction, mais je ne sais pas comment faire référence à la cellule où se trouve la fonction.
    Voici mon problème : je suis dans un tableau excel. Dans ma formule, je souhaite faire référence à la cellule qui se situe sur la même ligne, à une colonne précise. Si j'utilise "ActiveCell", lorsque la formule est recopiée automatiquement sur toute la colonne, elle fait référence pour toute la colonne à la ligne où j'ai saisi la formule. Je veux que cette fonction aille toujours chercher sur la même ligne.
    Exemple :
    Je souhaite reporter le contenu de la 2ème colonne du tableau grâce à cette formule (oui, je sais, ça ne sert à rien, c'est pour l'exemple). J'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function MAFONCTION()
    MAFONCTION = Cells(ActiveCell.Row, 2)
    End Function
    Mais ça ne marche pas. Le même contenu est reporté sur toute la colonne, parce que je fais référence à la cellule active et non celle où se trouve la formule.
    J'ai essayé d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("[@[Colonne2]]").Value
    mais ça ne marche pas non plus : la fonction renvoie une erreur.

    Je sais que ma question est basique, mais je n'ai pas pu trouver de réponse en cherchant sur le net.
    Merci de votre indulgence et de votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    la cellule appelant une fonction personnalisée est matérialisée par l'objet ThisCell au sein de cette dernière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function MAFONCTION()
        MAFONCTION = Cells(Application.ThisCell.Row, 2).Value
    End Function

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Par défaut
    Bonjour,

    ou moins utilisé et peut être moins connu mais non dénué d’intérêt :

    Application.Caller

  5. #5
    Membre confirmé Avatar de Markos22
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2016
    Messages : 198
    Par défaut
    Super ! Merci à tous pour vos réponses !

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/07/2017, 11h56
  2. Réponses: 3
    Dernier message: 12/09/2013, 11h27
  3. Réponses: 12
    Dernier message: 22/08/2013, 19h06
  4. Réponses: 7
    Dernier message: 14/06/2012, 08h06
  5. [XL-2003] Faire référence à la cellule contenant la fonction
    Par lemathurin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/08/2010, 18h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo