Bonjour Poncette,
Fichier "Données.txt" : https://mon-partage.fr/f/61a1DVtj
Fichier "Exo Poncette.xlsm" : https://mon-partage.fr/f/pZGqqV9i/
⚠ Le fichier "Données.txt" doit obligatoirement être dans le même dossier
que le dossier où tu vas mettre "Exo Poncette.xlsm".
⚠ Tu peux renommer comme tu veux le fichier Excel, mais si tu renommes
le fichier texte, alors dans le code VBA, tu devras mettre à jour le nom
du fichier de données (même si c'est évident, je préfère le préciser).
----------------------------------------------------
Dans le classeur Excel, il y a une seule feuille, entièrement vide ;
Ctrl e ➯ travail effectué ; tu as juste à vérifier les résultats :
1) Les 8 premières valeurs sont sur la 1ère ligne (de gauche à droite).
2) Les 8 valeurs suivantes sont sur la 2ère ligne (de droite à gauche) ;
pourquoi de droite à gauche ? car tu as indiqué que les coordonnées sont
d'abord la colonne Y, puis la ligne X, et dans "Données.txt", j'ai repris
exactement telles quelles toutes tes données, dans le même ordre ;
or les données pour la ligne 2 sont de la colonne 8 à la colonne 1.
Alt F11 pour voir la macro, puis revenir sur Excel
----------------------------------------------------
Voici mon code VBA :
Option Explicit
Sub Essai()
Cells.ClearContents: Application.ScreenUpdating = False
Dim chn$, lng As Byte, p As Byte, col%, lig&, vx!
Open ThisWorkbook.Path & "\Données.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, chn: lng = Len(chn)
p = InStr(chn, ":"): col = Val(Mid$(chn, 2, p - 1))
lng = lng - p: chn = Right$(chn, lng)
p = InStr(chn, ":"): lig = Val(Left$(chn, p - 1)): p = InStr(chn, "=")
vx = Val(Replace$(Right$(chn, lng - p), ",", "."))
Cells(lig, col) = Format(vx, "0.0")
Loop
Close #1
End Sub
----------------------------------------------------
Si besoin, tu peux me demander une adaptation.
Merci de me dire si ça te convient.
Si c'est ok, merci de passer le sujet en résolu.
Cordialement