GuillaumeFranceschi
XLDnaute Nouveau
Bonjour à tous,
Je me présente, je suis nouveau membre sur Excel-Downloads, je m'appelle Guillaume et je suis très heureux de pouvoir lire tous les post intéressants que le forum propose.
Pour mon entrée en matière sur le forum j'aimerais vous partager une problématique pour laquelle je sillonne internet et ce forum depuis quelques jours en quête d'une solution... sans succès pour le moment. Je vous expose mon problème du mieux que je le peux mais n'hésitez pas à me faire préciser tout ce qui nécessite éclaircissement :
Je travaille actuellement dans une équipe informatique à la SNCF au sein de laquelle je suis amené à manipuler des données ferroviaires. Ces données ferroviaires ne sont rien d'autre qu'une liste de voyages avec des points de passage. La liste Excel se présente ainsi :
Là c'est un échantillon dans lequel un seul voyage est représenté mais il faut imaginer des tableaux avec des milliers de lignes. J'ai donc mes points de passage sur la colonne B et dans la colonne A j'ai le numéro du voyage (c'est l'équivalent du numéro de train que vous voyez en gare quand vous voyagez ) qui est répété sur chaque ligne.
Voilà, seulement ce format de représentation des données ne me convient pas pour la suite et j'aimerais ranger ces données dans une collection de voyage qui s'appelle "tripCollection" dans le fichier que je vous ai joint.
Je suis bien loin de maitriser les collections mais faire une collection d'objets Voyages ne me semble pas insurmontable. Pour ceci j'ai :
Conclusion :
Je débute sur la manipulations des collections et des modules de classe et je n'arrive pas à faire ce premier exercice. Auriez-vous des idées pour me débloquer s'il vous plait ?
Je vous remercie tous par avance de l'attention que vous pourrez porter à ma demande
Une très bonne journée à tous et à bientôt sur le Forum
Guillaume
Je me présente, je suis nouveau membre sur Excel-Downloads, je m'appelle Guillaume et je suis très heureux de pouvoir lire tous les post intéressants que le forum propose.
Pour mon entrée en matière sur le forum j'aimerais vous partager une problématique pour laquelle je sillonne internet et ce forum depuis quelques jours en quête d'une solution... sans succès pour le moment. Je vous expose mon problème du mieux que je le peux mais n'hésitez pas à me faire préciser tout ce qui nécessite éclaircissement :
Je travaille actuellement dans une équipe informatique à la SNCF au sein de laquelle je suis amené à manipuler des données ferroviaires. Ces données ferroviaires ne sont rien d'autre qu'une liste de voyages avec des points de passage. La liste Excel se présente ainsi :
Là c'est un échantillon dans lequel un seul voyage est représenté mais il faut imaginer des tableaux avec des milliers de lignes. J'ai donc mes points de passage sur la colonne B et dans la colonne A j'ai le numéro du voyage (c'est l'équivalent du numéro de train que vous voyez en gare quand vous voyagez
Voilà, seulement ce format de représentation des données ne me convient pas pour la suite et j'aimerais ranger ces données dans une collection de voyage qui s'appelle "tripCollection" dans le fichier que je vous ai joint.
Je suis bien loin de maitriser les collections mais faire une collection d'objets Voyages ne me semble pas insurmontable. Pour ceci j'ai :
- Créé un module de classe qui se nomme "trip" et dans laquelle j'ai défini les variables de la manière suivante :
VB:
Option Explicit
Public numero As String
Public listePoints As Collection
- Mon problème va se situer dans la définition d'une variable comme une collection mais nous allons voir ça plus bas
- J'ai ensuite créé une procédure pour instancier mes objets "Voyages" et les insérer à ma collection "tripCollection" en fonction des informations que je trouve dans mon tableau :
VB:
Dim tripCollection As New Collection
Sub remplirTripCollection()
Dim i, derligne, k As Long
Dim numVoyage As String
Dim voyage As trip
Dim listePointsVoyage As New Collection
derligne = Sheets("test").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To derligne
numVoyage = Sheets("test").Cells(i, 1).Value
Set voyage = New trip
voyage.numero = numVoyage
k = i
Set listPointsVoyage = Nothing
Do While Sheets("test").Cells(k, 1).Value = numVoyage
nouveauPoint = Sheets("test").Cells(k, 2).Value
listePointsVoyage.Add nouveauPoint
k = k + 1
Loop
voyage.listePoints = listePointsVoyage
tripCollection.Add voyage
Next i
End Sub
- En fait je veux faire une collection de voyages, mais pour chaque voyage j'aimerais que la liste de points (qui est variable car différente pour chaque voyage) soit également stockée dans une "sous-collection". C'est pour cela que je me suis dit que mettre une collection "listePoints" en variable de ma classe "trip" était une bonne idée mais en fait ça ne ne fonctionne pas. En effet j'arrive à remplir la collection "listePointsVoyages" mais je n'arrive pas ensuite à la renseigner dans mon objet voyage. Ma ligne de code "voyage.listePoints = listePointsVoyage" bug au lancement de la macro et je finis avec le message d'erreur suivant :
Conclusion :
Je débute sur la manipulations des collections et des modules de classe et je n'arrive pas à faire ce premier exercice. Auriez-vous des idées pour me débloquer s'il vous plait ?
Je vous remercie tous par avance de l'attention que vous pourrez porter à ma demande
Une très bonne journée à tous et à bientôt sur le Forum
Guillaume