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 :

erreur d'execution 5, argument ou appel de procédure


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut erreur d'execution 5, argument ou appel de procédure
    Bonjour tout le monde !

    J'ai (encore) un problème avec mon code qui me donne une erreur d'argument ou d'appel de procédure sur la ligne en bleue. Ayant la tête dedans depuis quelques heures, je n'y vois plus rien du tout...

    Est-ce que vous pouvez m'aider s'il vous plait ?


    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
    H0 = Worksheets("contantes").Range("A2").Value    'H0=1.25 déclaré en variant
    
    For col = 1 To 36
        compt(col) = 2 'compt déclaré comme tableau integer 1 dimension de 1 a 37
    Next col
    
    For col = 1 To 36
        If IsEmpty(Sheets("Hpic(Dirp)").Cells(3, col)) =false then
           rho_weibull = Sheets("hi-H0" & col).Range("G3").Value ' =1,30778824330072 et déclaré comme variant
           P = Sheets("hi-H0" & col).Range("K2").Value 'déclaré comme variant
           mu = Sheets("contantes").Cells(8, col).Value 'déclaré comme variant
    
            Sheets("houle_dirp").Cells(2, compt(col)).Value = H0 + (1 / rho_weibull * Math.Log(12 * mu)) ^ (1 / P)
        End If
    Next col
    Sheets("hi-H0" & col).Range("K2").Value et Sheets("contantes").Cells(8, col).Value ne sont pas vides et quand je lance mon programme, leurs valeurs s'affichent bien dans la fenetre des variables locales.

    Merci d'avance pour votre aide !

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne comprends pas le compt(col) de 1 à 37 alors que tu comptes de 1 à 36... Es-tu sûr que tu as bien déclaré ton tableau de 1 à 37 et pas de 0 à 36?

    Ne serait-il pas plus simple de passer par une fonction perso à passer aux différentes cellules?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Quelle valeur a ta variable "mu" ? Elle doit obligatoirement être supérieure à 0.

    Hervé.

  4. #4
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    tout d'abord, merci pour votre aide !

    mu est toujours positif et prend différentes valeurs suivant les valeurs de col.

    Je ne sais pas comment compte visual basic pour les tableaux. Je voulais qu'il compte de 1 a 36 donc j'ai déclaré jusque 37 pour être sûre.

    Ne serait-il pas plus simple de passer par une fonction perso à passer aux différentes cellules?
    comment ça ?

  5. #5
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Pour un tableau, tu peux commencer à n'importe quelle base : tableau(5 to 10) contient 6 éléments mais tu ne peux, dans ce cas, y faire référence qu'avec les indices correspondants c'est à dire de 5 à 10 et non à partir de 0ou 1.
    Généralement dans Excel c'est en base 1 afin d'avoir une correspondance avec les cellules. Si il te faut un tableau de 37 éléments, tu le déclare comme tu as fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim compt(1 To 36) As Integer
    Ce que veux dire Pierre :
    Ne serait-il pas plus simple de passer par une fonction perso à passer aux différentes cellules?
    C'est que généralement, la partie calcul on l'isole du code en créant une fonction et en lui passant les arguments nécessaires comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function MaFonction(H0 As Double, _
                        rho_weibull As Double, _
                        mu As Double, _
                        P As Double) As Double
     
        MaFonction = H0 + (1 / rho_weibull * Math.Log(12 * mu)) ^ (1 / P)
     
    End Function
    et tu l'appelle de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("houle_dirp").Cells(2, compt(col)).Value = MaFonction(H0, , rho_weibull, mu, P)
    Pour les valeurs manqantes de ton exemple (P et mu) il faudrait que tu nous en donne la valeur au moment de l'erreur.

    Hervé.

    Oups,

    Petite erreur :o(( comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("houle_dirp").Cells(2, compt(col)).Value = MaFonction(H0, rho_weibull, mu, P)
    Désolé

    hervé.

  6. #6
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    C'est bon !
    En m'inspirant de ton code "mafonction" ça marche !

    Merci beaucoup pour votre aide !!!

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

Discussions similaires

  1. [XL-2007] Erreur d'execution 5, argument ou appel de procédure incorrect
    Par guilld dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2015, 15h58
  2. [XL-2003] Shell et Erreur d'exécution 5: Argument ou appel de procédure incorrect
    Par akr54 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2010, 14h15
  3. Erreur d'exécution 5 ; Argument ou appel de procédure Incorrect
    Par amirad dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/12/2009, 19h34
  4. Réponses: 6
    Dernier message: 02/07/2009, 17h16
  5. Workbooks.Open : Erreur "Argument ou appel de procédure incorrect"
    Par Kropernic dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/07/2008, 09h49

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