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 :

utilisation fonction rank avec plage nommee


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Points : 24
    Points
    24
    Par défaut utilisation fonction rank avec plage nommee
    J'ai définit des plages nommées pour effectuer des calculs de rang par rapport à différents rayons
    Ex :
    Ray13 valeur
    Ray 13 valeur
    Ray 13 valeur
    Rayon12 valeur
    Ray12 valeur

    Les noms de plages de cellules reprennent le nom de la feuille (acyivesheet .name& le nom du rayon)
    Une plage nommée pour ray13 : juinray13
    Une plage nommée pour rayon 12 : juinray12
    J'ai fait une macro, ça marche bien

    Ayant plus de 6 rayons je ne peux faire un Si car n'accepte que 6 sous conditions.
    Je fais une function afin d'envoyer dans ma fonction range le tri dans la plage nommée correspondante.
    Il ne parvient pas à évaluer la plage nommée dans ma fonction Rank.

    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
    18
    19
    20
    21
    22
    Function calculrang(rayon As Integer, cellule)
    'JE RECHERCHE LE NOM DE LA FEUILLE POUR AVOIR LE NOM DE LA PLAGE RAYON
    Dim Nomfeuille As String
    Dim plagerang As Range
     
    Nomfeuille = ActiveSheet.Name
     
    'EN FONCTION DU NUMERO DE RAYON JE CALCUL LE RANG
    Select Case rayon
     
    'LE RAYON =13
    Case 13
    plagerang = Nomfeuille & "ray13"
    calculrang = Application.WorksheetFunction.Rank(cellule, plagerang, 1)
     
    'CAS OU RAYON =12
    Case 12
    plagerang = Nomfeuille & "ray12"
    calculrang = Application.WorksheetFunction.Rank(cellule, plagerang, 1)
     
    End Select
    End Function
    J'ai également essayé avec set plagerang.name=nomfeuille & ray13
    Rien n'y fait

    Je vous remercie pour votre aide
    Cordialement

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    Tu peux essayer, à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plagerang = Nomfeuille & "ray13"
    de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set plagerang = Range(Nomfeuille & "ray13")

Discussions similaires

  1. [XL-2007] Fonction si avec plage
    Par josrciout dans le forum Excel
    Réponses: 2
    Dernier message: 01/04/2014, 18h55
  2. Réponses: 5
    Dernier message: 22/03/2014, 13h20
  3. Utiliser fonction assembleur avec LD_PRELOAD
    Par YoshioToutou dans le forum x86 32-bits / 64-bits
    Réponses: 0
    Dernier message: 24/06/2012, 23h27
  4. utilisation fonction log avec décimaux
    Par louiz31 dans le forum Calcul scientifique
    Réponses: 7
    Dernier message: 02/07/2009, 13h04
  5. Réponses: 6
    Dernier message: 24/02/2005, 10h44

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