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 :

aide sur une function qui renvoie #valeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2016
    Messages : 69
    Par défaut aide sur une function qui renvoie #valeur
    Bonjour à tout le monde,

    J'ai fait une fonction qui doit faire des calculs avec les données d'entrées ci-dessous.
    Nom : données d'entrée.JPG
Affichages : 131
Taille : 43,0 Ko

    les formules de calcul avec les données d'entrées sont données dans le code ci-dessous.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Function matricemomentappui(longueurs As Range, foyer As Range, rotation As Range)
    EI = 1
    Dim matrice() As Double
    Dim fg() As Double
    Dim fd() As Double
    Dim rotg() As Double
    Dim rotd() As Double
    Dim i      As Integer    'pour parcourir les lignes de la matrice
    Dim j      As Integer    'pour parcourir les colonnes de la matrice
    Dim n      As Double    'taille de la matrice
    n = Application.Count(longueurs)
    ReDim matrice(1 To 2 * n, 1 To n)
    ReDim fd(1 To n)
    ReDim fg(1 To n)
    ReDim rotd(1 To n)
    ReDim rotg(1 To n)
     
        For i = 1 To 2 * n
            For j = 1 To n
    fg(j) = foyer(1, j)
    fd(j) = foyer(2, j)
    rotg(j) = rotation(1, j)
    rotd(j) = rotation(2, j)
     
    If i = 2 * j - 1 Then
     
    matrice(i, j) = (fg(j) * (rotg(j) / EI) + (fg(j) * fd(j) * rotd(j) / EI)) _
    / ((longueurs(j) / 6) * (1 - fg(j) * fd(j)))
    ElseIf i = 2 * j Then
     
    matrice(i, j) = -((fg(j) * fd(j) * (rotg(j) / EI)) + (fd(j) * rotd(j) / EI)) _
    / ((longueurs(j) / 6) * (1 - fg(j) * fd(j)))
     
    ElseIf i > j Then
    matrice(i, j) = -fg(j) * matrice(i = j, j = i)
    Else
    matrice(i, j) = -fg(j) * matrice(i = j, j = i)
     
    End If
    Next j
    Next i
     
    matricemomentappui = matrice(i, j)
    End Function
    Les valeurs renvoyées par la fonction sont :
    Nom : sssss.JPG
Affichages : 124
Taille : 78,9 Ko


    les résultats devraient normalement être

    Nom : résultats à trouver.JPG
Affichages : 121
Taille : 43,8 Ko


    merci pour vos aides

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour,

    C'est quoi ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    matrice(i = j, j = i)
    Il peut y avoir d'autres bugs mais là, ça en est un, le compilateur ne sais pas l'interpréter (moi non plus d'ailleurs !)
    Donne plus d'explications sur ce que tu veux faire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2016
    Messages : 69
    Par défaut
    c'est les valeurs des cases que j'ai coloriées en jaune de l'image des résultats attendus qu'il faut multiplier par fd ou fg.

    le but est de monter mon tableau en premier les cases en jaunes.
    ensuite à partir des ces valeurs (en jaune l'image des résultats attendus) je rempli le reste du tableau par les valeurs fd ou fg suivant le cas.
    Donc quand je fais fg*matrice (i=j;j=i) j'entends moi bien sur par la par exemple si i=1) il prend la valeur du tableau matrice (2,2) et qu'il me le multiplie par fd(2) ou fg(2).

    j'espère que c'est plus clair comme ca

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je crois qu'il serait bon que tu passes d'abord par la lecture de ce tutoriel Utiliser les variables tableaux en VBA Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2016
    Messages : 69
    Par défaut
    Bonjour
    Je lai lu mais comme je suis novice dans la vba avec utilisation des tableaux je galere un peu j'avoue.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je lai lu mais comme je suis novice dans la vba avec utilisation des tableaux je galere un peu j'avoue.
    Ce tutoriel peut être lu par un novice et si tu avais testé les exemples proposés tu ne ferais pas une erreur comme ci-dessous
    i=j renvoie une valeur booléenne (True ou False) or une variable tableau doit être indicée par une valeur numérique entière.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Aide sur une macro qui change la couleur de police
    Par bruxmu dans le forum VBA Word
    Réponses: 4
    Dernier message: 26/03/2020, 16h36
  2. [Python 3.X] Besoin urgent d'aide sur une fonction qui me semble pourtant simple à créer.
    Par Mrflop124 dans le forum Général Python
    Réponses: 7
    Dernier message: 25/04/2015, 17h13
  3. Réponses: 6
    Dernier message: 28/04/2011, 14h19
  4. Réponses: 6
    Dernier message: 16/01/2011, 15h33
  5. [Regex C#] Aide sur une regex qui recupere des controles
    Par kerjon dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/05/2009, 14h10

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