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 :

Comment préciser ses paramètres en utilisant ParamArray [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Comment préciser ses paramètres en utilisant ParamArray
    Bonjour à tous,

    Soit une fonction

    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
    Option Explicit
     
     
    Public Function masomme(lemultiple As Integer, ParamArray lalistenum() As Variant) As Long
     
    Dim s As Long
    Dim i As Byte
     
    s = 0
     
    For i = LBound(lalistenum) To UBound(lalistenum)
            s = s + lalistenum(i)
    Next i
     
    masomme = s * lemultiple
     
    End Function
    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print masomme(10, 1, 2, 3)
    retourne la valeur attendue (60) sans problème.

    MAIS, comme je l'ai déjà exprimé maintes fois, notamment dans mon billet à ce sujet, ma préférence va à la précision des paramètres
    Or, cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print masomme(lemultiple:=10, lalistenum:=Array(1, 2, 3))
    me retourne l'erreur
    l'argument dans ParamArray ne peut pas être nommé
    Je ne comprends pas.

    D'avance, merci pour vos lumières.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,

    ce n'est pas la peine d'insister car voici ce que dit Microsoft sur ce problème :

    ===================================================================================================

    Une procédure avec un argument ParamArray ne peut pas être appelée avec des arguments nommés


    • 08/06/2017
    • 2 minutes de lecture

    Tous les arguments d’un appel à une procédure défini à l’aide d’un argument ParamArray doivent être positionnels. Cause et solution de cette erreur :

    • Une syntaxe constituée d’arguments nommés apparaît dans un appel de procédure.
      La syntaxe appelant les arguments nommés ne permet pas d’appeler une procédure qui comporte un paramètre ParamArray. Pour fournir seulement certains éléments de l’argument ParamArray, utilisez des virgules comme espaces réservés pour les arguments que vous souhaitez omettre. Par exemple, dans l’appel suivant, si les arguments ParamArray commencent après Arg2, les valeurs sont passées uniquement pour les première, troisième et sixième valeurs de ParamArray:
      MySub Arg1, Arg2, 7,, 44,,,3
      Note Le ParamArray représente toujours les derniers éléments dans la liste d’arguments.

    Pour plus d’informations, sélectionnez l’élément en question et appuyez sur F1 (sur Windows) ou AIDE (sur Macintosh).
    Assistance et commentaires

    Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
    ================================================================================================

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut JP,

    Ravi de te retrouver.

    Mon commentaire: "Nul!".

    Merci à toi (Je vais effectuer la mise à jour de mon billet)

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


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

Discussions similaires

  1. Utiliser un template sans préciser ses paramètres
    Par Bktero dans le forum Débuter
    Réponses: 7
    Dernier message: 24/01/2017, 00h29
  2. Réponses: 11
    Dernier message: 26/02/2015, 01h20
  3. [2008R2] Utilisation d'une procédure avec ses paramètres contenu une table
    Par bisou007 dans le forum Développement
    Réponses: 0
    Dernier message: 01/07/2013, 17h07
  4. Comment rédiger ses conditions d'utilisation ?
    Par eracius dans le forum Droit
    Réponses: 2
    Dernier message: 09/11/2009, 17h00
  5. Comment protéger ses sources?
    Par Titeuf21121 dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 25/03/2004, 06h47

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