comment avec (2:1:5)=4,3 ont peu arriver à faire un tableau

0

Bonjour,

J'utilise un logiciel qui me fournis c'est information en fichier txt. une converti en Excel 

(1:1:5)=5,1
Y/X 1 2 3 4 5 6 7
1 5,1
2
3
Resultat à placer à la bonne adresse soit 1:1 5,1
   
Y 1 Colone 
X 1 Ligne
ne me sert à rien  5
Qui pourrait m'aider ? avec tous mes remerciemts
Posté le 2 décembre 2017, 17:25
par Poncette
Répondre
0

Si vous ne me conprenez pas n'hésitez pas à me demander des infos supplémentaires. Merci 

Posté le 2 décembre 2017, 17:32
par Poncette
0

Pour être plus claire, enfin j'espère:)  voici autre une façon d'expliquer mon problème :

 je récupère un fichier .txt que je convertis en .xls

j’ai cette ligne :  (1:1:3)=5,3

J’aurais souhaité convertir ça en tableau y/x 

Y=1 étant la première colonne ,

 et =x=1 étant la première ligne . 

Le  chiffres  :3) ne me sert à rien.

5,3 étant la mesure qui doit aller à l’adresse (1:1)

Si vous avez une idée je suis preneuse merci

Posté le 2 décembre 2017, 17:59
par Poncette
0

j'ai oublier de vous préciser : il va y avoir plusieurs mesures donc plusieurs colonnes et plusieurs ligne. Exemple : 8 colonnes et 2 lignes 

(1:1:5)=5,1
(2:1:5)=4,3
(3:1:5)=5,6
(4:1:5)=5,2
(5:1:5)=5,0
(6:1:5)=4,9
(7:1:5)=4,9
(8:1:5)=5
(8:2:5)=5,1
(7:2:5)=4,3
(6:2:5)=5,6
(5:2:5)=5,2
(4:2:5)=5,0
(3:2:5)=4,9
(2:2:5)=4,9
(1:2:5)=5

Posté le 2 décembre 2017, 18:12
par Poncette
-1

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
 

rhodo Posté le 2 décembre 2017, 20:48
par rhodo
0

Bonjour,

Merci je sens que vais  bientôt y arriver :)

Pour tous te dire je suis loin d'être une pro en excel.

J'ai bien récupéré tes fichiers .txt et xlsm

et aprés je suis perdu …..

Oui c'est c normal pour les lignes, les mesures peuvent etre prises de gauche à droite pour la première ligne et un retour de droite à gauche pour la deusième et aisin de suite. Pour tous t'expliquer ce sont des mesures d'épaisseurs que nous effectuons par drone sur des structures en acier. Nous faisons un cadrillage et pour obtimiser le temps nous passons d'une ligne à l'autre sans repasser par le point 1mais directement sur le 8 par exemple. du coup mon fichier .txt peut nous arriver comme ça.

Si tu pouvais me faire ça en automatique, ça serai plus simple pour moi.

Voici mon adresse mail: sophie.ponce@aaadroneinspection.com

a trés bientôt.

Avec tous mes remerciements.

Sophie.

Posté le 3 décembre 2017, 09:26
par Poncette
0

Rhodo,

Je suis sous Mac ça change quelque chose ? Ctrl e ➯ travail effectué  ça ne fonctionne pas ca me met en erreur d'exécution "75" Erreur d'accès Chemin.Fichier J'ai bien mis les fichiers dans le meme dossier et je n'ai pas changer les noms de fichier 


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      c'est en jaune ? 

    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


Posté le 3 décembre 2017, 09:46
par Poncette
0

Bonjour Poncette et rhodo

Voici une alternative qui positionne les résultats dans l'onglet RESULTATS et dans  la cellule désignée par les paramètres des données.

Attention : ces paramètres doivent être inférieurs à 10 (sinon il y a moyen d'aménager le VBA)

J'ai ajouté une colonne qui signale d'éventuels doublon de paramètre (fond rouge).  Je ne sais pas si c'est possible mais au cas où il y aurait plusieurs fois les mêmes paramètres d'adressage, c'est le dernier qui sera installé dans RESULTATS.

Il suffit de coller les données texte dans l'onglet Données et de cliquer sur le bouton RESULTAT pour retrouver tous les résultats dans l'onglet RESULTAT dans les cellules désignées par les données.

J'espère que j'ai bien compris la demande.

A+

Chris

http://www.cjoint.com/c/GLdj5oA5NGo


CHRIS Posté le 3 décembre 2017, 11:09
par CHRIS
0

Merci Chris oui ça fonctionne comme ça Merci.

Posté le 3 décembre 2017, 14:22
par Poncette
0

Sauf que lorsque j'ai un résultat =0 ça ne me prend pas l'adresse et du coup ça me regroupe tous les resultats. Si je n'ai pas de mesure, il faut que ca m'indique 0 ou une autre indications qui pourrait y etre indiquer.

(5:3:1)=0
Merci Crhis 
Posté le 3 décembre 2017, 14:45
par Poncette
0

voici une liste possible dont le =  devrait arriver directement à la bonne adresse dans un tableau

(10:1:1)=4.9 (1:1:
(2:1:1)=5.0 (2:1:
(3:1:1)=5.0 (3:1:
(4:1:1)=5.0 (4:1:
(5:1:1)=4.9 (5:1:
(6:1:1)=4.9 (6:1:
(7:1:1)=4.9 (7:1:
(8:1:1)=4.9 (8:1:
(9:1:1)=4.9 (9:1:
(10:1:1)=4.9 (10:1:
(1:2:1)=5.0 (1:2:
(2:2:1)=5.0 (2:2:
(3:2:1)=5.0 (3:2:
(4:2:1)=4.8 (4:2:
(5:2:1)=4.8 (5:2:
(6:2:1)=5,3 (6:2:
(7:2:1)=3,6 (7:2:
(8:2:1)=3,5 (8:2:
(9:2:1)=0 (9:2:
(10:2:1)=0 (10:2:
(1:3:1)=0 (1:3:
(2:3:1)=0 (2:3:
(3:3:1)=0 (3:3:
(4:3:1)=0 (4:3:
(5:3:1)=0 (5:3:
(6:3:1)=0 (6:3:
(7:3:1)=0 (7:3:
(8:3:1)=0 (8:3:
(9:3:1)=0 (9:3:
(10:3:1)=0 (10:3:

Posté le 3 décembre 2017, 14:59
par Poncette
0

et le résultat ca donne ça 

5,0
5,0
5,0
5,0
4,9
4,9
4,9
4,9
4,9
Posté le 3 décembre 2017, 15:00
par Poncette
0

Bonjour,

J'ai corrigé pour le 0 et aussi pour permettre des lignes au delà de 9.

En effet, dans tes exemples, je vois la ligne 10

Dis moi ce que tu en penses

A+

Chris

http://www.cjoint.com/c/GLdt2jmFgio


CHRIS Posté le 3 décembre 2017, 20:56
par CHRIS
  • Oui c bien Merci – Poncette 4 décembre 2017, 09:24
  • Bonjour Chris. Oui merci c'est mieux, sauf que le chiffre de la mesure après la virgule indique 0 alors qu'il y a une valeur ? exemple: (1:1:5)=15.0 (1:1: (2:1:5)=15.0 (2:1: (3:1:5)=15.0 (3:1: (4:1:5)=15.7 (4:1: (5:1:5)=15.1 (5:1: (1:2:5)=15.0 (1:2: (2:2:5)=15.0 (2:2: (3:2:5)=15.1 (3:2: (4:2:5)=15.1 (4:2: (5:2:5)=15.1 (5:2: (1:3:5)=15.1 (1:3: (2:3:5)=15.1 (2:3: (3:3:5)=15.1 (3:3: (4:3:5)=15.1 (4:3: (5:3:5)=12.5 (5:3: (1:4:5)=12.4 (1:4: (2:4:5)=14.6 (2:4: (3:4:5)=15.0 (3:4: (4:4:5)=15.0 (4:4: (5:4:5)=15.0 (5:4: (1:5:5)=12.4 (1:5: (2:5:5)=12.1 (2:5: (3:5:5)=12.4 (3:5: (4:5:5)=12.4 (4:5: (5:5:5)=15.0 (5:5: Donne ce resultat: 15,00 15,00 15,00 12,00 12,00 15,00 15,00 15,00 14,00 12,00 15,00 15,00 15,00 15,00 12,00 15,00 15,00 15,00 15,00 12,00 15,00 15,00 12,00 15,00 15,00 On y est presque Merci :) Poncette – 5 décembre 2017, 10:54
0

Bonjour Poncette,

Tu distilles les informations au goutte à goutte...

Il n'était pas prévu d'avoir un nombre supérieur à 9,9...

Voici la correction pour accepter jusque 99,9

http://www.cjoint.com/c/GLfsOemF2io

Il est important de toujours spécifier les limites auxquelles ont doit faire face surtout dans ce genre de problème où nous devons extraire des informations d'un texte.

On pourrait naturellement tester mais cela alourdirait très fortement les instructions et si ce n'est pas utile...

J'espère que cette fois ci nous avons atteint toutes les limites (j'espère notamment que le nombre de colonnes ne dépasse pas 9 sinon il faudra encore changer et ajouter des tests)

A+

Chris

CHRIS Posté le 5 décembre 2017, 19:46
par CHRIS
0

Bonsoir CHRIS,

Je ne me souviens plus si tu es ou non un des responsables du site ! sauf erreur de ma part, il me semble bien que oui ! j'aurais voulu contacter en privé un des responsables du site, mais c'est impossible : le lien Contact arrive bien sur l'écran du formulaire de Contact, mais après avoir écrit son message, quand on clique sur le bouton « Envoyer », ça répond systématiquement que l'envoi du mail a échoué !  :(  c'est un bug à corriger d'urgence ! il faudra vérifier aussi que ça marche même pour des adresses mails très longues (comme la mienne) ; merci d'avance au responsable du site qui s'en occupera !  ;)

Un des points dont je voulais parler est celui-ci : lorsque les nouveaux membres s'inscrivent, ils voient un message leur indiquant qu'ils vont recevoir une confirmation d'inscription, or ce mail de confirmation d'inscription n'arrive jamais ! je me suis inscrit sur ce site le 02 octobre 2017 et je n'ai jamais reçu ce mail ! j'admets très volontiers que ce n'est pas grave puisque de toute façon, même sans cette confirmation d'inscription, il est possible de poster un message sur ce forum, mais ce serait bien d'arranger ça au plus vite pour tous les nouveaux membres qui s'inscrivent ! merci d'avance à celui qui s'en occupera !  ;)

Je crois que le signalement aussi est bogué et ne marche pas !  :(  j'ai demandé ce matin  la suppression d'une adresse mail personnelle et ça n'a toujours pas été fait !  :(

Cordialement,
rhodo
 

rhodo Posté le 7 décembre 2017, 23:43
par rhodo
1

Bonsoir rhodo

Désolé mais je ne suis pas du tout responsable de ce site.  Je ne fais que, comme toi, essayer d'aider les demandeurs.

J'aime bien ce site qui récolte des demandes intéressantes et les intervenants sont sympa.

Moi ce que je souhaiterais c'est qu'il y ait un compteur de Commentaires (ou la suppression de ceux-ci)  En effet, quand on regarde les questions posées, si le compteur de réponses n'a pas bougé, il faut quand même chaque fois entrer dans la question pour savoir si le demandeur n'a pas mis un commentaire ce qui est embêtant et fait exploser le compteur de Vues.

Je sais que le responsable du site parcoure régulièrement les questions/réponses car il a déjà répondu je crois que c'était à Tom il y a quelques mois

On verra

A la prochaine

Chris

CHRIS Posté le 8 décembre 2017, 01:39
par CHRIS
0

@ Chris

Je trouve moi aussi que les intervenants de ce site sont sympas, toi y compris. ;) comme tu interviens très souvent, avec régularité, et fort à propos, j'ai cru que c'était toi le responsable du site ! ;P

Désolé pour ma méprise, mais merci quand même pour ta réponse ; je suis d'accord avec tout ce que tu as écrit, et c'est même bien pour ça que j'ai préféré te répondre sans utiliser le bouton « Ajouter un commentaire » mais plutôt le bouton « Répondre » ! ;)

C'est bien dommage qu'on ne puisse pas voir clairement sur l'écran de la liste des questions s'il y a eu ou non une réponse, que ce soit en tant que vraie réponse ou en tant que commentaire ; en plus de l'auteur et de la date de la question, il devrait y avoir l'auteur et la date du dernier post (réponse ou commentaire) ; à cause de cette absence d'info, je suis moi aussi, comme toi, obligé d'entrer dans la question, et comme tu l'as si bien dit, ça fait exploser inutilement le compteur de vues (qui n'a donc plus de sens) ! j'ai aussi remarqué que ce compteur de vues augmente de 1 simplement quand on fait F5 pour actualiser l'écran ! :(  or je fais souvent F5 pour rafraîchir l'écran... c'est étudié pour, comme dirait Fernand Raynaud ;P

Ce qui serait bien, aussi, c'est que les questions qui reçoivent un post récent remontent en haut de la liste des questions, donc ça serait fait avec un classement par ordre chronologique décroissant selon la date du dernier post reçu : on verrait aussitôt les réponses les plus récentes sans devoir faire défiler la liste des questions vers le bas pour retrouver une ancienne question et vérifier si elle a eu ou non une réponse ! ça part d'un si simple bon sens que je me demande bien pourquoi ça n'est pas déjà comme ça ! :(

Si je trouve un message de Tom, je lui répondrai en dessous pour l'aiguiller ici ! ;)

À la prochaine,
rhodo
 

rhodo Posté le 8 décembre 2017, 03:41
par rhodo

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :