Problème VBA: appel de fonction dans la partie gauche doit renvo [Fermé]

Signaler
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015
-
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015
-
Bonjour,

J'ai réalisé ce code vba (je suis débutant en la matière) et lors du lancement de la macro, j'ai un problème d'appel de fonction (voir le titre) que je ne comprends pas.
Pourriez-vous me donner un coup de main svp ?

Sub quelAHT()

Dim i As Integer
Dim X(601) As Single
Dim ligne As Integer
Dim nom As String
Dim price As String
Dim minimum As Single
minimum = 101

For i = 7 To 601

If Cells(i, 30).Value <> "" And Cells(i, 24).Value <> "" And Cells(i, 23).Value <> "" And Cells(i, 26).Value <> "" And Cells(i, 2).Value = "AHT" And Cells(9, 40).Value >= Cells(i, 30).Value And Cells(10, 40).Value >= Cells(i, 24).Value And Cells(i, 23).Value <= Cells(11, 40).Value And Cells(12, 40).Value >= Cells(i, 26).Value Then
X(i) = 0.6 * (Cells(i, 30).Value / Cells(9, 40).Value) + 0.2 * (Cells(i, 24).Value / Cells(10, 40).Value) + 0.1 * (Cells(11, 40).Value / Cells(i, 23).Value) + 0.1 * (Cells(i, 26).Value / Cells(12, 40).Value)
Else: X(i) = 100
End If

If minimum > X(i) Then
minimum = X(i)
ligne = i
End If

Next i

nom = Cells(ligne, 1).Value
price = Cells(ligne, 16).Value

MsgBox "L'AHT le plus adapté est " & nom & " et son DayRate est de " & price & " ! "

Application.Run "'database AS.xls'!quelAHT"


End Sub


Merci d'avance !!

1 réponse

Bonjour,

Je ne comprends pas pourquoi tu termines ta macro par cette ligne:
Application.Run "'database AS.xls'!quelAHT" 

Ta macro s'appelle elle-même récursivement à l'infini.

Moi, je supprimerai cette ligne.
Cordialement.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015

Merci de ta réponse Yoda. Malheureusement ça ne change rien.
Le debuggeur surligne en jaune la 1ere ligne du programme Sub quelAHT(). Je comprends pas...
>
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015

Quel est exactement le message d'erreur?

je te répondrais un peu plus tard.
A+
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015

Que l'appel de fonction dans la partie gauche doit renvoyer Variant ou Objet

Mais je me demande si ce n'est pas lié à mon code: If Cells( , ).Value <> " "
que je traduis par "Si ma cellule n'est pas vide", vu que pour moi le symbole <> signifie "est different de"
?
>
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015

J'ai testé cette macro, en prenant bien soin supprimer la ligne
Application.Run "'database AS.xls'!quelAHT"

et je n'ai eu aucune erreur.
Le seul message reçu est
L'AHT le plus adapté est et son DayRate est de !
Messages postés
9
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
27 mars 2015

Effectivement, la ligne ne servait à rien. Et mon problem est résolu ! Merci