Adapter macro Word pour une petite appli VB.Net

newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015 - 15 oct. 2015 à 10:49
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015 - 17 oct. 2015 à 23:19
HELLO WORLD

Tout d'abord soyez indulgent je commence depuis une semaine à me creuser dans ce nouveau monde pour moi qu'est la programmation.
je rentre dans le vif du sujet.
j'ai réussi à trouver sur le web une macro pour remplacer des mots suivants une liste de mots contenu dans un fichier .txt
le fichier .txt se compose de la forme suivante .

tata,tutu
toto,titi

Sous Word la macro me permet de remplacer automatiquement les mots avec le fichier texte que je choisi.
Au boulot, mon prédécesseur a fait installer VIsual Sutdio 2008. pendant mon temps libre j'ai farfouillé et j'ai remarqué toutes les possibilités offertes par
ce logiciel.
j'ai créé un wpf pour me créer trois text box
la première me permet de créer une nouvelle "table de mots"
la deuxième me permet d afficher et de modifier un fichier txt ou se trouve une table
la troisième ou je choisis mon fichier texte à modifier selon la deuxième textbox



je voudrais adapter le code ci après que j ai sous word pour créer une appli qui me permette de faire exactement la même chose via directement un executable.


Sub RemplaFich()

Dim oFSO As New FileSystemObject
Dim oFS

Set oFS = oFSO.OpenTextFile("c:\temp\mots.txt")
Do Until oFS.AtEndOfStream
stext = oFS.ReadLine
mot = Split(stext, ",")

Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = mot(0)
.Replacement.Text = mot(1)
.Forward = True
End With
Selection.Find.Execute Replace:=wdReplaceAll

Loop
'
End Sub

voici l'ébauche de mon appli ...


Imports System.IO

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim Sw As New StreamWriter(SaveFileDialog1.FileName)
Sw.Write(TextBox1.Text)
Sw.Close()

End If

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim Sr As New StreamReader(OpenFileDialog1.FileName)
TextBox2.Text = Sr.ReadToEnd
Sr.Close()

End If



End Sub


Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim Sw As New StreamWriter(OpenFileDialog1.FileName)
Sw.Write(TextBox2.Text)
Sw.Close()
End Sub


maintenant le plus dur reste à faire
appeler ce qu il y a dans la textbox avec mes titi,tutu pour remplacer ce qu il y a dans ma troisième

je vous remercie par avance pour votre aide

23 réponses

vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
15 oct. 2015 à 16:10
Bonjour
Quelques conseils tout d'abord
1) Adapter un code VBA en code VB Net est pour ainsi dire guère faisable ! Par contre adapter en VB net ce que fait un code VBA est possible ! Ces 2 langages sont très différents . Le "ce que fait" est très important au niveau compréhension des 2 phrases précédentes !
2) En VB net les contrôles ont une propriété Name que l'on peut changer : ainsi Ecriturefichier est plus parlant que Button1
3) J'ai mis du temps à comprendre que titi, tata représentaient le mot à remplacer et le mot de remplacement ( remplacer "bonjour" par "salut" donne donc "bonjour,salut" dans ton fichier
4) Autre chose si dans ton fichier tu as 4 fois la mot "bonjour" faut-il le remplacer 4 fois par "salut" ( exemple précédent)
5) Le point le plus important : décrire en langage humain toutes les actions que doit faire ton logiciel en les décomposant en actions élémentaires : c'est l'algorithme de ton logiciel . Une fois ceci défini il reste à le traduire dans le langage de ton choix (ici VB net )

Ton code VBA d'origine nous indique un fichier C:\temp\mots.text . Il contient la suite des remplacements ("bonjour,salut") .

En VB net il faudrait en faire une liste sur 2 colonnes (mot à remplacer et mot de remplacement)
Ensuite une zone de texte avec le texte de ton fichier dans lequel il faut faire des remplacements
Imagine que tu cliques sur la première ligne de ta liste à 2 colonnes et que cela te remplace directement le mot de la 1° colonne par le mot de la 2° colonne dans tout ton fichier ! Et si tu cliques sur la deuxième ligne cela fait de même mais pour les 2 mots de la 2° ligne !
On peut même imaginer un bouton "Changer tout" qui effectuera le changement pour tous les différents mots à changer !

Ce ne sont que des pistes à explorer ( il y a 36 façons de faire la même chose )
Bon courage à toi


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
1
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
16 oct. 2015 à 11:34
Bonjour !
Tu écris : " j ai plusieurs fichiers "table de référence" en txt. "

Un bouton "Sélection fichier référence" te charge le fichier sélectionné dans un "OpenFileDialog1" et extrait dans la liste à 2 colonnes les couples de mots ! Ce fichier peut être en anglais, turc ou polonais !

Concentre toi pour l'instant sur l'ouverture de ce fichier référence et le remplissage de cette liste à 2 colonnes ( utilise une listview en mode "détails" pour cela )

Ensuite tu t'occuperas de l'ouverture et de l'affichage du fichier où il faut changer les mots !

Ensuite on verra ! Comme tu vois la première chose à faire est le découpage des différentes tâches que le logiciel doit faire et aussi de les mettre dans l'ordre !

Bon courage à toi
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 17/10/2015 à 11:36
Bonjour, tous,
Juste une petite invitation à la réflexion, avant de dépenser trop d'énergie :
Lorsque je lis :

en effet désolé de ma mauvaise explication mais c est un fait
si dans le texte titi apparait plusieurs fois il sera toujours remplacé par tata (lol pointe d humour).


en somme je cherche une sorte de traduction si je peux m exprimer ainsi


Je ne peux m'empêcher de penser, s'agissant de remplacements de mots dans un texte, pour toutes les occurrences de ce mot, qu'il s'agit réellement de tentatives de traduction de phrases.
Si tel est bien le cas, le chemin choisi n'est pas le bon. La simple "traduction" de chaînes de caractères, sans analyse du contexte, conduirait à du n'importe quoi.

Un exemple :

"Il a été confirmé que la précipitation pluvieuse a été moins abondante cet été qu'elle ne l'a été au cours de la même saison de l'année dernière. Cet état de choses mérite une attention plus grande dans un état (le Texas) des Etats-Unis que dans d'autres. Il faut toutefois faire très attention à ne pas en tirer une conclusion trop hâtive relative à une évolution durable du climat. Toute précipitation dans ce domaine serait de nature à fausser toute notre démarche de recherche de solutions adéquates."

Plusieurs chaînes de caractères (été, précipitation, état, toute, etc ...) ont ici une traduction TRES différente selon leur place dans cette phrase.
Ce n'est qu'un petit exemple parmi des millions d'autres possibles.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
1
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
17 oct. 2015 à 14:02
Bonjour ucfoutu
Ce que tu dis est fort judicieux et vrai !
ton exemple de texte nous le montre très bien !
Je me borne juste à aiguiller notre ami dans sa façon de voir les choses sans extrapoler ce problème de traduction de phrases : remplacement d'un mot par un autre !
Bon week-end à toi
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
15 oct. 2015 à 22:12
bonsoir et tout d'abord merci de votre réponse fort détaillée.
je rebondis sur plusieurs de vos points si vous le permettez.
encore et encore des questions de la part d'un novice .
pouvez vous explicitez votre point 2
"2) En VB net les contrôles ont une propriété Name que l'on peut changer : ainsi Ecriturefichier est plus parlant que Button1 "

3/ en effet désolé de ma mauvaise explication mais c est un fait
si dans le texte titi apparait plusieurs fois il sera toujours remplacé par tata (lol pointe d humour).
en effet je cherche a remplacer et non à mettre titi tata à la suite dans mon fichier final/ en somme je cherche une sorte de traduction si je peux m exprimer ainsi
4/ en effet si l occurrence revient x fois , celle ci sera toujours remplacée. c est ce que je souhaite lol
5/ je le conçois bien... et c est bien la le plus dur. transformer un souhait écrit en (presque) bon français en langage informatique.


"Ton code VBA d'origine nous indique un fichier C:\temp\mots.text . Il contient la suite des remplacements ("bonjour,salut") .

En VB net il faudrait en faire une liste sur 2 colonnes (mot à remplacer et mot de remplacement) "

comment faire si je n ai pas le choix du fichier source de remplacement qui est d'une forme imposée type:
bonjour,salut
au revoir,bye
titi,tutu
il faut donc que je rajoute une étape pour convertir mon fichier txt qui est de cette forme pour le transformer en tableau en deux colonnes comme vous le préconisez ( j'ai bien pris en compte que c est une méthode parmi tant d autres)/

au plaisir de vous lire
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
16 oct. 2015 à 00:20
Rebonjour !
Tout d'abord un petit cours très complet sur VB net : http://plasserre.developpez.com/cours/vb-net/

1)Lorsque tu poses un contrôle sur une forme ( exemple une Textbox) elle prend directement le nom de TextBox1 ( Name = nom en anglais) . Dans les propriétés du contrôle tu peux changer le nom de ce contrôle pour lui donner un nom plus parlant ! et il y a plein d'autres propriétés ( couleur de fond de la Textbox : Backcolor par exemple, etc .....)

2) Reprenons ton fichier "mots.txt" qui t'est imposé . Il est formé de plusieurs ligne et chaque ligne contient le mot à changer et le nouveau mot ! Rien ne t'empêche de faire une liste à deux colonnes qui contiennent toutes les lignes du fichier !

tu ouvres ensuite le fichier dans lequel il faut faire les changements et tu l'affiche à l'écran ! tu cliques sur une ligne de la liste et cela te change automatiquement le mot de la colonne 1 par le mot de la colonne 2 par un code de remplacement dans le fichier texte !
Ensuite reste à réenregistrer ton fichier avec les nouveaux mots insérés à la place des anciens !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 06:38
rebonjour,

Merci pour les précisions.
En effet le cours de plasserre est très bien fait.
je lis également "débuter en programmation" de micro application.
ce sont deux ebook que je lis et relis pour essayer de comprendre.
je vais suivre la voie que tu indiques et essayer donc de créer une liste à deux colonnes.
je reviendrais vers toi si ca ne dérange pas pour présenter mon petit bout de code pour éviter de trop grosses erreurs.

merci en tout cas du temps pris pour me répondre

c est en forgeant que l on devient forgeron
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 06:55
j ai de suite une question lol
j ai plusieurs fichiers "table de référence" en txt.
est ce que... avec ton système il est aisée de choisir la "table" que je souhaite utilisée ?
par exemple
fichier texte anglais avec
hello,bonjour
bye,au revoir

fichier texte espagnol avec
hola,bonjour
adios, au revoir


mes listes à deux colonnes ne seront t elles pas figées dans la voie que tu me propose ?
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 12:11
rebonjour,
merci de ta réponse.
qui plus est j aime ton "style" de réponses.
tu aiguilles en me laissant faire ... j aime ça.
pas de blabla, pas de truc tout fait ... c'est comme cela que j'imaginais l'aide sur ce forum ... et tu me confortes dans mon idée de continuer ici .... bref j arrête la avec les fleurs lol
je me lance dans ma création de listview à deux colonnes pour récupérer ma "table de référence"
je te tiens au courant de la suite
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 12:58
bon Google et mes neurones étant mes amies
je suis parti sur ce code que je compte adapter pour choisir mon fichier de référence
peux tu déjà me dire si je suis sur la bonne voix
cela fonctionne bien avec mon fichier toto.

par contre j ai une petite erreur sur
Dim ofile AS IO.StreamReader

unusual local variable ofile ...

mais la listview s affiche correctement



 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim aline() As String
Dim ofile As IO.StreamReader
Dim sPath As String
Dim objReader As IO.StreamReader
Dim sLine As String
Dim arrText As New ArrayList()
Dim sSeperator As String
Dim lvi As ListViewItem
sLine = ""
sPath = "c:\temp\toto.txt"
sSeperator = ","
objReader = New IO.StreamReader(sPath)

If IO.File.Exists(sPath) Then
ListView1.View = View.Details
ListView1.Columns.Add("colonne 1")
ListView1.Columns.Add("colonne 2")

Do
sLine = objReader.ReadLine()
If Not sLine Is Nothing Then
aline = sLine.Split(sSeperator)
lvi = New ListViewItem(aline)
ListView1.Items.Add(lvi)

End If
Loop Until sLine Is Nothing
objReader.Close()
End If
End Sub


cordialement
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
Modifié par newbie-whatelse le 16/10/2015 à 13:10
il semble que l instruction Dim ofile ne soit pas nécessaire car même supprimer l affichage s effectue correctement ...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 oct. 2015 à 13:24
Bonjour,
"....il semble que l instruction Dim ofile ne soit pas nécessaire..."

Surtout si on n'utilise nulle part cette variable objet (LOL !)
et que ... tu utilises en fait une autre variable : objReader...
ouais ...
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
Modifié par newbie-whatelse le 16/10/2015 à 14:42
bonjour c est un fait...
j'ai bien précisé que Google était mon ami .
et que donc j'ai trouvé ce code.
Mais accorde moi tout de même qu'en étant "plus que débutant" .c'est déjà un grand pas pour moi d'avoir trouvé cette erreur tout seul.
En même temps merci de ta précision constructive...
Cordialement.

je viens de lire "Votre" profil. désolé de ma familiarité papy ;-)
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
16 oct. 2015 à 15:59
Petite question : en quelle langue est ton Visual Studio avec lequel tu développes ?
Car le message que tu as eu est un message d'avertissement et non un message d'erreur : unusual local variable ofile signifie variable locale ofile non utilisée !
et la suivante ci-dessous n'est pas utilisée dans le code que l'on voit :
Dim arrText As New ArrayList()


Autre chose : vide avant utilisation ta listview avec
ListView1.Items.Clear()


Prends aussi l'habitude de toujours donner un nom à tes contrôles ! Tu me diras merci lorsque dans quelques temps tu feras un gros projet avec une form qui contient une trentaine de contrôles !
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
16 oct. 2015 à 15:42
Bonjour
C'est plus que bien !

Rajoute maintenant la sélection du fichier qui sert à alimenter la listview !
utilise :
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then


Ainsi tu pourras sélectionner le fichier que tu veux pour les mots à remplacer ! Regarde aussi comment faire pour n'avoir que les fichiers .txt dans OpenfileDialog1 ( voir ton cours VB net de Plassere)

Bon courage cher ami et salut à Ucfoutu en passant
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 16:20
Ça m'énerveeeeeeee lol

j'étais en train de le faire et je galérais car je n'ai pas pensé au
if .. THEN !!!!!!!!
je me demandais comment et c est si simple....

le Visual Studio installé au bureau est en version anglaise.
licence tout ok. version non crackée lol

une question peut être voire surement bête.
est ce que le fait que le logiciel soit en anglais influe sur le code de programmation ???


je ne comprends pas pourquoi il est nécessaire de vider la listview ???

pour n'avoir que les fichiers texte ça j ai vu et compris
filtre et fichier texte|*.txt


pour les deux variables ... en fait ce code je l ai trouvé faisant partie d'une appli plus conséquente. cqfd ... faut que je fasse plus attention pour ne pas surcharger avec n importe quoi.

allez c est reparti pour les modifs que je ne manquerais pas mettre à dispo de vos yeux experts .... ;-)
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
16 oct. 2015 à 16:39
je galère finalement j ai vendu la peau de l ours ....

et je pense d'où cela vient pour choisir mon fichier

le path m embête.
Dim sPath As String

...
sPath = "c:\temp\toto.txt"


je dois m'éparpiller car je ne sais pas quelle voie prendre avec mon
openfiledialog.

je creuse je creuse
mon cerveau bouillonne ... une petit bière va m aider lol
open bar dans l open space lol
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
16 oct. 2015 à 20:51
Salut

Le fait que ton Visual Studio soit en anglais n'influe nullement sur le programme rassures-toi

Regarde ce bout de code


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim aline() As String
Dim objReader As IO.StreamReader
Dim sLine As String
Dim sSeperator As String = ","
Dim lvi As ListViewItem
sLine = ""

Listview.Items.Clear()
ListView1.View = View.Details
ListView1.Columns.Add("colonne 1")
ListView1.Columns.Add("colonne 2")
OpenFileDialog1.Filter = "Fichier (*.txt)|*.txt"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
objReader = New IO.StreamReader(OpenFileDialog1.FileName)
Do
sLine = objReader.ReadLine()
If Not sLine Is Nothing Then
aline = sLine.Split(sSeperator)
lvi = New ListViewItem(aline)
ListView1.Items.Add(lvi)
End If
Loop Until sLine Is Nothing
objReader.Close()
End if

End Sub
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
17 oct. 2015 à 08:35
bonjour,

merci pour ce "bout" de code.
je regarderais cela lundi au boulot... chez moi je n ai pas Visual Studio 2008.
par contre me vient à l'esprit deux questions.
1/
si je veux faire appel du contenu de ma listview dans mon projet... est ce que je peux remplacer le
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

par un
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


2/ je ne comprends toujours pas le
"Listview.Items.Clear()"
je comprends que c est pour vider les items de la listview.
pourtant vu le code normalement la listview devrait s afficher avec les items puis de suite se vider ... c est la ou je ne comprends pas pourquoi elle ne se vide pas alors que dans le code il y a bien cette instruction (méthode pardon) ... ???!!!!
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
17 oct. 2015 à 10:37
Bonjour

1) Visual Studio est disponible gratuitement en français dans sa version Express ! et on en est à Visual Studio 2015 actuellement !
le lien pour télécharger : https://www.microsoft.com/france/visual-studio/essayez/telecharger/visual-studio.aspx
Prends ce téléchargement : Microsoft Visual Studio Express 2015 pour Windows Desktop

2) pour ta première question on verra cela lorsque on attaquera les changements de mots !

3) la procédure
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ne doit surtout pas être modifiée comme tu dit ! C'est une procédure événement qui se déclenche au chargement de la feuille ! Elle doit donc rester Private
De plus l'entête de cette procédure s'écrit en double-cliquant directement sur la Form et non en la tapant au clavier

4) le Listview1.Items.Clear()
vu le code que je te montre la listview se vide d'abord et ensuite se charge avec les couples de mots ! Dans la version du logiciel que j'ai fait c'est un bouton qui appelle le fichier des mots et qui me charge la listview . Mettons que je travaille avec un fichier français-anglais . je charge par exemple "homme,man" puis "femme,woman" puis etc ..... dans la listview . Je charge le fichier texte de travail et je fais les remplacements !
Maintenant j'ai un autre travail à faire mais avec un fichier français-allemand ! Je clique mon bouton qui me charge mon fichier de mots ! Si je ne vide pas la listview j'aurais les mots français-anglais et les mots français-allemands dans la listview

bon Week-end à toi
0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
17 oct. 2015 à 10:39
Dans le code que je t'ai donné j'ai oublié un 1 au premier Listview ( il faut lire
Listview1.Items.Clear()

0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
17 oct. 2015 à 15:54
Rebonjour à vous deux.
Je fais vite avant que mon épouse me tombe dessus en disant **** encore du boulot* à la maison .... lol

Pour clarifier la réflexion fort juste de ucfoutu.
Non il ne s agit en aucun point d'un essai de confection de logiciel traduction dans le sens où vous l 'entendez ucfoutu.
votre réflexion est toutefois extrêmement bien fondée et juste.

Par contre il est vrai qu'il servirait "presque" dans ce sens mais avec des mots bien spécifiques.
j'entendrais plus alors le nom de cette appli comme un logiciel de "décodage" si je peux m exprimer ainsi. Mais je ne suis pas un expert ici et donc je me fie à vos analyses quant à la sémantique à employer.

Ces mots spécifiques sont employés dans des fichiers envoyés au bureau pour "effectuer" et corriger des rapports.
Ces fameux fichiers ont un format propriétaire.
Malheureusement, l'envoi et la composition de ces fichiers ne sont pas uniformisés. (plusieurs facteurs qui sont discutables mais dont je ne peux rien.)
les entités qui envoient ces fichiers se trouvent dans différents pays vous l'aurez compris..... (petite anecdote pour VB95 boite à vocation internationale ... d'où le logiciel VS2008 en anglais).

la facon la plus simple pour moi est ainsi de créer des fichiers text que je pourrais modifier quand un nouveau "mot,code,valeur" arrivera et lui donner la correspondance que ma boite utilise.

voilà j'espère avoir clarifier la vision finale de cette petite appli.

bon week end à tous les deux.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 17/10/2015 à 18:03
Je commence à mieux comprendre ce dont il s'agit.
Il semble que tu veux faire en sorte que les saisies soient uniformisées : que les mots soient toujours in fine invariables dans chacune des langues.
Cela est possible, mais à la condition sine qua non que chaque intervenant soit obligé de choisir un mot parmi une liste de mots affichés dans sa propre langue, ce mot étant ensuite gardé en mémoire sous une autre forme "universelle" (ton "codage").
Plusieurs méthodes existent pour y parvenir. Aucune se serait toutefois vraiment conviviale si le nombre de mots concernés était trop élevé. Qu'en est-il de cet aspect-là ?

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
newbie-whatelse Messages postés 15 Date d'inscription jeudi 15 octobre 2015 Statut Membre Dernière intervention 17 octobre 2015
Modifié par newbie-whatelse le 17/10/2015 à 18:55
Re bonjour
En fait la liste de mots en générale n'excède pas une trentaine par fichier.

Le rapport que j'édite ou que je reçois peut par contre contenir une cinquantaine de lignes ... voir exceptionnellement 80 ( je ne préfère pas ce cas ci ... c est qu il y a eu un souci ...)


"les mots soient toujours in fine invariables dans chacune des langues"
Ces mots sont invariables "normalement" chez l'expéditeur du fichier ... c est le "normalement" le problème ... je ne peux agir qu'à mon niveau.
Pour dire, il m'arrive même certaine fois d'être obligé de téléphoner ou d'envoyer un mail en demandant ... " mais c est quoi ce nouveau 'code' ???"

D'où la méthode trouvé avec mon petit esprit (sic) d'avoir des fichiers texte selon l expéditeur.

Le but du jeu comme je le disais précédemment ... mais cela je pense que ça sera dans un certain temps llooll ... c est que mon appli cherche automatiquement la correspondance dans tous mes fichiers texte et me remplace automatiquement mes valeurs dans mon fichier de rapport.


Au plaisir de vous lire
0
Rejoignez-nous