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. |
A voir également:
- L'indice n'appartient pas à la sélection
- Indice téléphonique - Guide
- A qui appartient ce numéro - Guide
- L'indice n'appartient pas à la sélection access - Forum Access
- A qui appartient ce 06 gratuit - Forum Mobile
- Google n'a pas pu vérifier que ce compte vous appartient. - Forum Gmail
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...
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...
Ci-joint le lien
http://www.cjoint.com/c/ELwkTUJV82a
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
Je ne suis pas informaticienne et débutante dans ce type de macro donc je ne comprends pas tout à ce que vous avez dit. De plus, j'ai essayé le nouveau fichier que vous m'avez envoyé et cela ne fonctionne plus du tout quand je souhaite rechercher un montant .
Cordialement
C'est en gros ce que je vous ai écrit, ça ne marche pas. Le problème vient de la procédure Sub eval