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 :

Fonction qui renvoie les coordonnée de la cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Fonction qui renvoie les coordonnée de la cellule
    Bonjour je cherche à créer une fonction personnelle et non une macro.

    J'ai une feuille de données
    Libellé S1 S2 S3 S4
    Pomme 18 20 14 105
    Poire 12 10 96
    Cerise 13 14 9 105

    Le but de la fonction serait de remonter dans une autre feuille de synthèse si j'écris par exemple en A1 "Pomme" et en B1" S3" je veux dans la cellule active le résultat de l'intersection de la ligne et de la colonne soit ici 14

    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    En complément de ton sujet précédent
    si tu insiste pour passer par une fonction
    et vu que tu cherche la somme des quantité d'un produit P pendant une semaine S (que tu n'as pas précisé ici), ci joint une proposition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Function Rech(ByVal Prod As String, ByVal Sem As String) As Double
    Dim LastCol As Integer
    Dim LastLig As Long
    Dim P As Range, S As Range
    Application.Volatile
    With Sheets("BD")  'à adpater
        LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
        LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
            Set S = .Range(.Cells(1, 2), .Cells(1, LastCol)).Find(Sem, LookIn:=xlValues, LookAt:=xlWhole)
                If Not S Is Nothing Then
                    For Each P In .Range("A2:A" & LastLig)
                        If P.Value = Prod And IsNumeric(.Cells(P.Row, S.Column).Value) Then Rech = Rech + .Cells(P.Row, S.Column).Value
                    Next P
                End If
            Set S = Nothing
    End With
    End Function
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Merci

    Encore merci, c'est la formule de mes rêves, tu ne sais pas combien d'heures de travail tu viens de me faire gagner......J'espère pouvoir te rendre service à mon tour un jour.
    Cordialement

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

Discussions similaires

  1. Une fonction ou sub pour récupérer les coordonnées d'une cellule
    Par Nymar dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/09/2014, 15h02
  2. Réponses: 6
    Dernier message: 28/01/2012, 19h02
  3. [XL-2003] fonction qui renvoit les coordonnées d'une cellule (As Range)
    Par hallscar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/12/2011, 08h56
  4. Fonction qui renvoie les premières lettres d'une suite de mots
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 16
    Dernier message: 30/06/2010, 13h58
  5. [E-02] Définir les coordonnées d'une cellule en fonction de son contenu
    Par Karatégirl77 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2009, 14h52

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