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 de mon module:
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.
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: