Bonjour,
j'ai créé une classe "Mesh2D" qui contient entre autres une propriété "Points" qui est une collection d'objets de type "Grid". Un objet Grid est un point avec des propriétés "x" et "y" (vous aurez compris qu'il s'agit des coordonnées).

Je voudrais donc alimenter cette "liste" de points avec les valeurs issues d'une feuille excel.
Avant de parler du problème voilà donc le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Private sub Test()
Dim rng as Range, i as Long
Dim maillage as New Mesh2D, P as New Grid
 
'Récupération de l'adresse des données sur la feuille
Set rng = RngInput()
 
For i = 1 To rng.Rows.count
   P.x = rng(i,1)
   P.y = rng(i,2)
   maillage.Points.Add P
Next i
 
End Sub
J'obtiens donc une collection de points dont la taille est correcte mais dont les éléments sont tous identiques au dernier ajouté.

Si je me limite à une sélection de 3 lignes et que je procède comme ci-dessous, tout fonctionne bien.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Private sub Test()
Dim rng as Range, i as Long
Dim maillage as New Mesh2D
Dim P1 as New Grid, P2 as New Grid, P3 as New Grid
 
'Récupération de l'adresse des données sur la feuille
Set rng = RngInput()
 
   P1.x = rng(1,1)
   P1.y = rng(1,2)
   maillage.Points.Add P1
   P2.x = rng(2,1)
   P2.y = rng(2,2)
   maillage.Points.Add P1
   P3.x = rng(3,1)
   P3.y = rng(3,2)
   maillage.Points.Add P1
 
End Sub
Seulement j'ai un nombre d'éléments qui est variable et cette dernière méthode n'est donc pas envisageable. Quelqu'un pourrait-il m'aider ?