Problème Excel VBA: "l'indice n'appartient pas à la sélection"
bichon1998
Messages postés
10
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
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
A voir également:
- L'indice n'appartient pas à la sélection vba tableau
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Tableau word - Guide
- Tableau ascii - Guide
- Indice téléphonique - Guide
- Trier un tableau excel - Guide
2 réponses
Bonjour Bichon,
Salut Michel,
Tu déclares ton tableau dans une boucle???
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 :
Une fois compris ce principe, tu pourras ajouter tes tests...
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...
J'ai essayé ton code et c'est ok. Ca devrait m'aider pour la suite !
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 ?