Erreur- 'L'indice n'appartient pas à la sélection' - Récupération de données tableau

Phil1

XLDnaute Nouveau
Bonjour,

Je suis débutante en Excel VBA et je bloque sur une erreur dans mes macros 'l'indice n'appartient pas à la sélection'.
Je vous explique le fonctionnement de mon fichier.
J'ai deux feuilles " suivi devis 2011" et " suivi projet 2011".
Dans la première feuille, je remplis toutes les informations des clients demandant des devis dont notamment la colonne 'date de commande' lorsque le client désire effectivement mener son projet.
Ma macro parcourt cette colonne et repère les modifications qui ont eu lieu depuis le dernier enregistrement, elle met en mémoire l'ensemble des informations liées à ce projet (création d'un type Nouveau projet, tableau répertoriant ces informations).
Puis dans mon module, jai la fonction remlissage, qui est censée remplir la feuille "suivi projet 2011" avec les informations de ce tableau.

Voici mon code:
Code de la feuille "suivi devis 2011":
Code:
Sub Worksheet_change(ByVal Target As Range)

Dim x As Integer
x = 10
ReDim Nouveauprojet(1 To x)

Dim i, j, k, l As Integer
k = 1
For l = 1 To 20
If Not Intersect(Target, Cells(l, 10)) Is Nothing Then
Then
j = Target.Row

Nouveauprojet(k).DateCommande = Cells(j, 10) 
Nouveauprojet(k).NomClient = Cells(j, 2) 
Nouveauprojet(k).TypeInstal = Cells(j, 3)
Nouveauprojet(k).Puissance = Cells(j, 4)
Nouveauprojet(k).Localisation = Cells(j, 5)
k = k + 1
End If
Next l
End

End Sub


Private Sub SuiviProjet_Click()
remplissage
End Sub

code de mon module:
Code:
Public Type Projet
DateCommande As Date
NomClient As String
TypeInstal As String
Puissance As Variant
Localisation As String
End Type

Public Nouveauprojet() As Projet

Sub remplissage()
Sheets("Suivi projet 2011").Select  'on sélectionne la feuille "Suivi projet 2011"

Dim j As Integer, ligne As Integer, k As Integer

    j = 7
    While Cells(j, 1).Value <> ""
    j = j + 1
    Wend
    
    ligne = j
      For k = 1 To 10
    'si la cellule "date commande" est vide, alors
    Cells(ligne - 1 + k, 1) = Nouveauprojet(k).DateCommande 'on y copie la cellule Date
    Cells(ligne -1 +k, 2) = Nouveauprojet(k).NomClient       'on copie les cellules nom, instal,  ds la feuille aux cellules correspondantes
    Cells(ligne -1 +k, 3) = Nouveauprojet(k).TypeInstal
    Cells(ligne -1 +k, 4) = Nouveauprojet(k).Puissance
    Cells(ligne -1 +k, 5) = Nouveauprojet(k).Localisation
    Next k
    End
    
ligne = ligne + 1                     
End Sub

L'erreur est sur la ligne Cells(ligne - 1 + k, 1) = Nouveauprojet(k).DateCommande 'L'indice n'appartient pas à la sélection'. quelqu'un sait d'où cela peut venir?

J'espère qu'il y a toutes les informations dont vous pourriez avoir besoin. Si vous avez besoin de plus de précisions, n'hésitez pas a m'en demander.

Un grand merci d'avance à tous ceux qui auraient le temps d'y jeter un coup d'oeil. :)
 
Dernière édition:

flyonets44

XLDnaute Occasionnel
Re : Erreur- 'L'indice n'appartient pas à la sélection' - Récupération de données tab

Bonjour
l'erreur vient du fait que ton tableau n'est pas suffisamment dimensionné, calcule d'abord le nombre de lignes à traiter avec
cette instruction :X = Cells(65536, 1).End(xlUp).Row+1 si tes données sont colonne A
Cordialement
Flyonets
 

Efgé

XLDnaute Barbatruc
Re : Erreur- 'L'indice n'appartient pas à la sélection' - Récupération de données tab

Bonjour Phil1, flyonets44,
effectivement, il doit y avoir un problème de dimentionnement, mais il y a peut être aussis un problème de décalration de variable:
En utilisant
Code:
Dim i, j, k, l As Integer
Cels reviens à faire
Code:
Dim i As Variant
Dim j As Variant
Dim k As Variant
Dim l As Integer
D'autre part, si le nombre de lignes s'agrandit trop, Integer ne sera pas suffisant. Je les remplacerais tous par Long:
Code:
Dim i As Long
Dim j As Long
Dim k As Long
Dim l As Long
Ou, en raccourci :
Code:
Dim i&, j&, k&, l&
Cordialement

EDIT Il y a ici un tuto de carcharodon-carcharias sur le sujet
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16