Problème Excel VBA: "l'indice n'appartient pas à la sélection"
bichon1998
Messages postés
10
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
J'ai créé ce petit code ce matin:
En gros, c'est assez simple, j'ai 3 lignes (L3 à L5 ici) et pour chaque ligne je voudrais calculer un X(i) à partir des données de cette ligne. Mais quand j'exécute mon programme, j'obtiens: "Erreur d'exécution '9' L'indice n'appartient pas à la selection."
Pourriez-vous me débloquer svp ?
Merci d'avance
Bichon
J'ai créé ce petit code ce matin:
Sub test()
Dim i As Integer
For i = 3 To 5
Dim X() As Single
If Cells(i, 3).Value >= Cells(10, 2).Value And Cells(i, 4).Value >= Cells(11, 2).Value And Cells(i, 5).Value <= Cells(12, 2).Value And Cells(i, 6).Value >= Cells(13, 2).Value Then
X(i) = 0.6 * (Cells(i, 3).Value / Cells(10, 2).Value) + 0.2 * (Cells(i, 4).Value / Cells(11, 2).Value) + 0.1 * (Cells(12, 2).Value / Cells(i, 5).Value) + 0.1 * (Cells(i, 6).Value / Cells(13, 2).Value)
Else: X(i) = 100
End If
Next i
MsgBox "X(4)"
Application.Run "'database AS.xls'!test"
End Sub
En gros, c'est assez simple, j'ai 3 lignes (L3 à L5 ici) et pour chaque ligne je voudrais calculer un X(i) à partir des données de cette ligne. Mais quand j'exécute mon programme, j'obtiens: "Erreur d'exécution '9' L'indice n'appartient pas à la selection."
Pourriez-vous me débloquer svp ?
Merci d'avance
Bichon
2 réponses
-
Bonjour Bichon,
Salut Michel,
Tu déclares ton tableau dans une boucle???For i = 3 To 5 Dim X() As Single
Hum hum...
Et tu ne le dimensionnes jamais...
Et "X(4)" ne risque pas de t'afficher la valeur de l'indice 5 de ton tableau.
MsgBox "(X4)" va afficher : (X4)
et MsgBox X4 va provoquer la même erreur 9...
Essaye déjà, tout simplement :Sub test() Dim i As Integer Dim X(5) As Single For i = 0 To 5 X(i) = 0.6 * i Next i MsgBox X(4) End Sub
Une fois compris ce principe, tu pourras ajouter tes tests...-
-
Une dernière question Pijaku.
J'ai terminé mon code et tout est ok. Merci à toi. Cela permet d'afficher le résultat grâce à MsgBox. Cependant, quand j'appuie sur OK, le message refuse de disparaitre et je suis obligé de fermer Excel avec le gestionnaire de tâches pour relancer ma macro.
As-tu une explication ?
-