Problème Excel VBA: "l'indice n'appartient pas à la sélection"
bichon1998
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 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
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 ?