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 :

Passage d'une case d'un tableau en paramètre


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2017
    Messages : 1
    Par défaut Passage d'une case d'un tableau en paramètre
    Bonjour,

    J'aurais besoin de votre aide car je commence à désesperer pour debugger une partie de mon code:

    Je n'arrive pas à passer mon argument en paramètre. VBA me renvoye l'erreur "Objet Requis" or toutes mes variables sont déclarées.

    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
    23
     
    Dim Split As Double
    'TabDataCl est un tableau de Variant/Double et TabRegle Variant/double aussi 
    For i = 1 To UBound(TabDataCl, 2) Step 2
            Split = ChoixSplit(TabRegle(1, i).Value)
            FX = ChoixFX(TabName(1, i + 1).Value)
            For j = 1 To UBound(TabDataCl, 1)
                TabRatioA_S(j, i) = CalculRatioADRdivS(TabDataCl(j, i).Value, TabDataCl(j, i + 1).Value, Split, TabFX(j, FX).Value)
                TabRatioS_A(j, i) = CalculRatioSdivADR(TabDataCl(j, i).Value, TabDataCl(j, i + 1).Value, Split, TabFX(j, FX).Value)
            Next j
        Next i
     
    Public Function ChoixSplit(Regle As Double) As Double
        Dim i As Long
        'Split
        Dim TabSplit As Variant
        i = 1
        TabSplit = Range("TabSplit")
        While Regle <> TabSplit(i, 1)
            i = i + 1
        Wend
            ChoixSplit = TabSplit(i, 2)
    End Function
    l'erreur se trouve au niveau de Split = ...... et je pense qu'elle se trouvera de nouveaux à chaque passage de paramètre.
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    code incomplet donc on ne peut rien vérifier ‼

    Split étant déjà un mot réservé du langage VBA, il serait opportun de modifier le nom de la variable !

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour (et un salut amical à Marc_L)

    Drôle de réinvention de roue que cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function ChoixSplit(Regle As Double) As Double
        Dim i As Long
        'Split
        Dim TabSplit As Variant
        i = 1
        TabSplit = Range("TabSplit")
        While Regle <> TabSplit(i, 1)
            i = i + 1
        Wend
            ChoixSplit = TabSplit(i, 2)
    End Function
    S'intéresser d'urgence à la méthode Range.Find ne sera pas peine perdue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/08/2011, 17h31
  2. Accès à une case d'un tableau grâce à headers
    Par Invité dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 04/10/2006, 15h45
  3. Réponses: 9
    Dernier message: 15/05/2006, 16h23
  4. Lien dans une case d'un tableau
    Par will89 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/04/2006, 10h50
  5. [Debutant] URL utilisable depuis une case d'un tableau de BD
    Par Marc_3 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/04/2005, 19h06

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