Problème VBA: appel de fonction dans la partie gauche doit renvo

bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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 !!
A voir également:

1 réponse

Yoda
 
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
bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0
Yoda > bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Quel est exactement le message d'erreur?

je te répondrais un peu plus tard.
A+
0
bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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"
?
0
Yoda > bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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 !
0
bichon1998 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Effectivement, la ligne ne servait à rien. Et mon problem est résolu ! Merci
0