L'indice n'appartient pas à la sélection
Mariiine
-
Mariiine -
Mariiine -
Bonjour, l'erreur l'indice n'appartient à la sélection, apparaît. Et, il me souligne la ligne elems(i) = cells(i+2,2). Pouvez-vous m'aider pour corriger cela s'il vous plait ?
Global target As Double
Global nbr_elem As Integer
Global stat(30) As Integer
Global statb(30) As Integer
Global elems(30) As Double
Global best As Double
Sub store_sol()
Dim i As Integer
For i = 1 To nbr_elem
Cells(i + 2, 3) = statb(i)
Next i
End Sub
Sub copy_stat()
Dim i As Integer
For i = 1 To nbr_elem
statb(i) = stat(i)
Next i
End Sub
Sub eval(ByVal total As Double, ByVal pos As Integer)
If pos <= nbr_elem Then
stat(pos) = 0
eval total, pos + 1
stat(pos) = 1
eval total + elems(pos), pos + 1
Else
If (Abs(total - target) < Abs(target - best)) Then
best = total
copy_stat
End If
End If
End Sub
Sub find_sol()
'Originally written by Naishad Rajani. User-interface made
'pretty by Jimmy L. Day.
Dim StTime As Date, EndTime As Date
Dim i As Integer
StTime = Now
best = 0
target = Cells(1, 2)
nbr_elem = Cells(2, 2)
For i = 1 To nbr_elem
elems(i) = Cells(i + 2, 2)
Next i
eval 0, 1
store_sol
EndTime = Now
Debug.Print (EndTime - StTime) * 86400
End Sub
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI Merci d'y penser dans tes prochains messages. |
1 réponse
-
Bonjour,
Vous pourriez mettre un fichier avec le code et les donnees qui provoquent l'erreur?????
Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...-
-
-
Re,
Fichier modifie pour l'erreur (dimensionnement des tableaux a faire en dynamique) et quelques astuces Excel , mais y a un bleme, la procedure Sub eval(ByVal total As Double, ByVal pos As Integer) ne se termine jamais ( ai ajoute un Doevents pour pourvoir stopper le code)
https://www.cjoint.com/c/ELwortbaDqf -
-
-