Bonsoir,
voila ce que je cherche à faire :
J'ai un vecteur colone de données ordonnées. Je veux à partir de ce vecteur en créer un second plus court qui ne contiendrait qu'une occurence par donnée individuelle dans le premier : c'est à dire pour être plus clair, un vecteur sans doublon.
Comme je ne connais pas le nombre d'éléments individuels dans le premier, je ne peux pas donner dès le début sa taille définitive à mon second vecteur.
Sauf que j'obtients systématiquement une erreur à la commande ReDim Preserve
Data : 1er vecteur avec doublons,
MatVect : résultat souhaité
L'erreur affichée est la 9, Subscript out of Range.
Je sais que je peux procéder différemment en comptant d'abord le nombre d'éléments individuels dans la première et en dimensionant la seconde à partir du résultat, ou en donnant une dimension énorme à la seconde puis en la redimensionant à la fin à partir d'un compteur du nombre de "cellules" non vides mais je suis curieux de connaitre pourquoi mon code actuel ne fonctionne pas.
Je pensais au début que cela venait du fait qu'au départ je défini MatVect comme une matrice (1,1) mais j'ai testé en partant à une dimension plus élevée : même problème.
ReDim MatVect(1 To 1, 1 To 1)
MatVect(1, 1) = Data(1, 1)
a = 1
For i = 2 To UBound(Data, 1)
If Data(i, 1) <> MatVect(a, 1) Then
ReDim Preserve MatVect(1 To a + 1, 1 To 1)
MatVect(a + 1, 1) = Data(i, 1)
a = a + 1
End If
Next i
Merci d'avance,
Cordialement,
L.