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 :

Argument d'une fonction


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 1
    Par défaut Argument d'une fonction
    Bonjour,

    J'ai une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function ChargeTableau(iResult As Integer, iListe As Integer, rListe As Range, rResult As Range) As Integer
        rResult.Offset(iResult, 5) = rListe.Offset(iListe, 8).Value
        rResult.Offset(iResult, 6) = rListe.Offset(iListe, 9).Value
        If rListe.Offset(iListe, 8).Value > 0 Then rResult.Offset(iResult, 7) = (rListe.Offset(iListe, 9).Value / rListe.Offset(iListe, 8).Value) * 100
    End Function
    Quand j'appel la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub TableauCroise()
       Dim iStatus, iListe, iResult As Integer
       Dim rListe, rResult As Range
     
       ...
     
       iStatus = ChargeTableau(iResult, iListe, rListe, rResult)
     
    end Sub
    J'ai le message :
    Erreur de compilation : Type d'argument ByRef Imcompatible.
    Auriez-vous une idée du purquoi ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour, de la lecture pour toi la réponse est a mon avis dedans

    Car parmi les variable que tu lui passe en argument il y a plus de variant que d'integer ou de range Je ne suis pas sur que ce soit le problème mais commence par le régler


    Fondements sur les variables et les constantes


    Ensuite j'allai te donner un lien pour apprendre a utiliser les balise de code mais il a disparu donc tu sélectionne le code et dans les boutons au dessus de la fenêtre pour taper un message tu clique sur le petit #
    et la tu voi apparatre [/CODE] a la fin de la selection et [CODE] au début
    Ca permet d'avoir un code lisible et pas l'immonde pâté que tu nous a pondu

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    iliste dans ta déclaration si je dis pas de bétise c'est un variant et pas un integer

    les virgules pour la déclaration il me semble que ca pose des soucis

    essaye de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim iStatus As Integer
    Dim iListe As Integer
    Dim iResult As Integer
    Dim rListe As Range
    Dim rResult As Range
    pour le reste ta fonction est bien compliqué pour pas grand chose
    tu pourrais presque te passer des rResult et iResult en la changeant un peu

    mais bon

    EDIT : c'est finit krovax de me griller aujourd'hui

Discussions similaires

  1. [VBA-E] Lister les arguments d'une fonction
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2006, 12h04
  2. Récupération d'arguments sur une fonction
    Par p0Kep0K dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/09/2005, 09h17
  3. premier argument d'une fonction
    Par Ickou dans le forum Langage
    Réponses: 3
    Dernier message: 10/09/2005, 14h17
  4. une url comme argument d'une fonction
    Par khayyam90 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2004, 20h15
  5. passer FILE* en argument d une fonction
    Par Monsieur_Manu dans le forum C
    Réponses: 9
    Dernier message: 10/04/2003, 17h56

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