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 :

Coordonnées cellules dans fonction VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Par défaut Coordonnées cellules dans fonction VBA
    Bonjours à tous,

    je cherche le moyen de récupérer via un argument de fonction les coordonnées d'une plage de cellules pour les attribuer à un objet range.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function essai(plage As String)
        Dim MaPlage As Range
        Set MaPlage = Range(plage)
        essai = plage
    End Function
    ceci fonctionne très bien dans la fenêtre d'exécution mais plante dans la feuille excel??
    je ne vois pas pourquoi: si quelqu'un à une idée !!!
    merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut


    Ceci ne conviendrait-il pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function essai(plage As Range) As String
    essai = plage.Address
    End Function
    et dans la cellule tu écris la formule suivante
    Autre solution, lorsque tu fais appel à la fonction personnalisée dans excel, pour avoir une fenêtre demandant la cellule 1 et la cellule 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function essai2(Cel1 As Range, Cel2 As Range) As String
    Dim plage As Range
    Set plage = Range(Cel1, Cel2)
    essai2 = plage.Address
    End Function
    ce qui se traduit par la formule

  3. #3
    Membre éprouvé
    Inscrit en
    Mai 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 104
    Par défaut
    Salut,
    ton code est louche...
    Tu passes un paramètre qui doit être une référence comme "$A$1" ou un nom de cellule comme "toto".
    Puis tu initialises un objet local avec la plage correspondante dans la feuille active.
    Enfin tu renvoies le paramètre que tu avais donné
    À la fermeture de la fonction, l'objet disparait, et tu n'as donc rien fait.
    Au lieu de mettre dans une cellule
    =essai("A1")
    tu as meilleur compte de mettre
    ="A1"

    Si tu veux récupérer l'adresse d'une cellule, il existe une fonction Excel :
    =CELLULE("adresse";H8) renvoie "H8" (la coordonnée de la première cellule si une plage ; si le besoin porte sur une plage voir le post précédent de fring)

    Si tu veux récupérer le contenu d'une cellule dont tu donnes l'adresse, il existe aussi une fonction Excel :
    =INDIRECT("H8") renvoie 3 si la cellule H8 contient 3

    Sinon il va falloir préciser ton besoin...

Discussions similaires

  1. [XL-2010] Recherche pour coordonnées cellules dans tout le classeur
    Par trebor63 dans le forum Excel
    Réponses: 1
    Dernier message: 21/04/2015, 09h36
  2. [XL-2003] Utilisation d'une fonction VBA dans la formule d'une cellule
    Par robx2309 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/05/2011, 00h41
  3. Réponses: 6
    Dernier message: 22/10/2009, 15h42
  4. [XL-2003] Utiliser une fonction VBA dans une cellule
    Par zakuli dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2009, 19h23
  5. Comment écrire dans une cellule la fonction SUM en vba?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/02/2007, 19h24

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