J'ai trouvé une façon, mais j'ai l'impression qu'elle me limite pour la suite.
Type Point
X As Double
Y As Double
Z As Double
End Type
Public mPts() As Point
Public mPtsComp() As Point
Public Function SplitStringToXYZPoint_CommaDelimited(S As String) As Point
Dim P As Point
Dim Splitted As Variant
Splitted = Split(S, ",")
P.X = Splitted(0)
P.Y = Splitted(1)
P.Z = Splitted(2)
SplitStringToXYZPoint_CommaDelimited = P
End Function
Sub traitement_lidar()
Dim myFile As String
Dim lidar As Integer
Dim sBuf As String
Dim maxX As Integer
'chemin du fichier txt
myFile = "C:\Users\pablo.gonzalez\Desktop\test_Lidar.txt"
'ouvrir fichier txt
lidar = FreeFile
Open myFile For Input As lidar
'matrice points XYZ
Dim i As Long
i = 0
Do While Not EOF(lidar)
Line Input #lidar, sBuf
ReDim Preserve mPts(0 To i)
mPts(i) = SplitStringToXYZPoint_CommaDelimited(sBuf)
i = i + 1
Loop
Quand je demande la valeur mPts(i).X j'obtient la bonne valeur selon la ligne i.
Cependant je me trouve face à un nouveau problème. Lorsque j'essaye de demander la valeur max des coordonnées X, VBA bug :
maxX = 1
Dim h As Integer
h = 0
For h = 0 To i
If mPts(h).X > maxX Then
maxX = mPts(h).X
End If
Next h
Comment puis-je traiter les informations par colonne?
Merci d'avance pour toute information
Pablo