Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/02/2013, 12h27   #1
manupapet
Invité de passage
 
Inscription : mars 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 4
Points : 1
Points : 1
Par défaut Rechercher/Remplacer mais pas dans un fichier

Bonjour à tous,

Après environ une dizaine d'heures de recherche, je me tourne vers ce forum pour trouver de l'aide.

Voici mon problème : j'ai besoin de faire un rechercher/remplacer mais pas dans un fichier, c'est dans une fenêtre ouverte d'une application OMNIS. Cette application OMNIS me génère des fiches de travail mais dans ces fiches il y a des références incompréhensibles et je veux faire des recherches/remplacer sur ces références pour qu'elles deviennent compréhensibles pour l’atelier de production. J'ai donc installé un logiciel de raccourcis clavier qui permet de lancer un fichier VBS en faisant par exemple : "WIN + H". Mon problème est que maintenant il faut que j'écrive le code du fichier VBS.

J'ai trouvé plein de truc mais toujours pour Word, Excel ou alors sur des fichiers texte.

Je me tourne vers vous pour trouver la solution.

J'avais trouvé ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Selection.Find.ClearFormatting
			Const wdFindContinue = 1
			Const wdReplaceAll  = 2
   Selection.Find.Replacement.ClearFormatting
   With Selection.Find
        .Text = "A chercher Ref : M1256ST58475"
        .Replacement.Text = "remplacer par VIS M5"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Merci pour votre aide
manupapet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 15h27   #2
papyxy
Membre actif
 
Homme alain
retraité
Inscription : juillet 2011
Messages : 207
Détails du profil
Informations personnelles :
Nom : Homme alain
Âge : 67
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : retraité

Informations forums :
Inscription : juillet 2011
Messages : 207
Points : 152
Points : 152
Envoyer un message via MSN à papyxy Envoyer un message via Yahoo à papyxy Envoyer un message via Skype™ à papyxy
Bonjour
1) je suppose que les fiches sont dans un fichier.
2)Est-ce qu les références à remplacer se trouvent au même endroit?
3)C'est bien de remplacer, mais qu'est-ce qu'on fait du résultat?
4)Avez-vous une liste de toutes les références?
papyxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 16h07   #3
manupapet
Invité de passage
 
Inscription : mars 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 4
Points : 1
Points : 1
Citation:
Envoyé par papyxy Voir le message
Bonjour
1) je suppose que les fiches sont dans un fichier.
2)Est-ce qu les références à remplacer se trouvent au même endroit?
3)C'est bien de remplacer, mais qu'est-ce qu'on fait du résultat?
4)Avez-vous une liste de toutes les références?
Bonjour, tout d'abord merci pour l'intérêt porté à ce sujet.

1) Les fiches n'ont pas de fichier elles font parti de l'application.
2) Oui les références sont toutes au même endroit
3) Pour le résultat, c'est un texte qui doit en remplacer un autre. Je ne suis pas clair mais je sais comment tourner cette phrase.
4) J'ai la liste de toutes les références.

Je vais essayer d'être plus clair :
En gros dans mon logiciel de GPAO, dans une case de l'interface graphique je fais :
1. Tout sélectionner : CTRL + A
2. Rechercher/remplacer : CTRL + H sur "Ref : M1256ST58475" par "VIS M5"

Le gars qui fais les fiches de prod fait ça environ 100 fois par jour et il ne faut pas qu'il se trompe entre les références. Par exemple :
- "Ref : M1256ST58475" par "VIS M5"
- "Ref : M1256PT58477" par "VIS A4"
- "Ref : S1254ST58475" par "VIS J8"
- "Ref : M1256PT68475" par "VIS U1"
On a environ 250 références.
Ces références correspondent à des vis que chaque opérateur, sur les chaines de montage, ont devant eux dans un casier, les références n'aidant pas et faisant perdre du temps, je voudrait mettre en place un système de casier horizontal/vertical en numérotant les casiers : horizontal par des lettres A à Z et vertical 1 à 10.

Il faut donc que je puisse faire des rechercher/remplacer pour le gars qui fait les fiches de fabrication car quand il se trompe, on perd beaucoup de temps : la chaine de fabrication s'arrête et on perd au moins 15 minutes sur 25 personnes, ça fait un emploi en trop par jour ce qui fait que l'on pourrais rester concurrentiel par rapport à l'Asie et garder les emploi en France.

Je voulais donc faire ce rechercher/remplacer par un raccourcis clavier par exemple "WIN + H" comme ça le gars des fiches de fabrication ne se trompe jamais. Pour ça, il me faut un script VBS mais bien sûr je prend autre chose si quelqu’un a une idée.

Merci pour votre aide.

PS :
1. pour information, notre société perd environ 40 000 euros/an. Il nous reste 3 mois rectifier le tir, sinon c'est fini. Même s'il y a beaucoup de points à améliorer dans notre société, si le rechercher/remplacer que je veux créer permettra à notre entreprise de continuer à fonctionner.
2. nous avons essayer de mettre une deuxième personne (2 personnes différentes pendant 2 mois chacune) pour vérifier le travail du gars qui fait les fiches de fabrication mais on a eu que 15% de mieux.
manupapet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 17h28   #4
papyxy
Membre actif
 
Homme alain
retraité
Inscription : juillet 2011
Messages : 207
Détails du profil
Informations personnelles :
Nom : Homme alain
Âge : 67
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : retraité

Informations forums :
Inscription : juillet 2011
Messages : 207
Points : 152
Points : 152
Envoyer un message via MSN à papyxy Envoyer un message via Yahoo à papyxy Envoyer un message via Skype™ à papyxy
Bien, voyons si j'ai bien compris. Je propose un petit prog VBS dans lequel on aura toutes les références et leurs remplaçants.
Celui-ci proposera de frapper une référence (copie/collée si vous voulez), après quoi il vous renverra la valeur substituée.
Ou alors à partir d'une liste déroulante, si vous préférez.
Suis-je dans la bonne ligne?
papyxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 18h18   #5
manupapet
Invité de passage
 
Inscription : mars 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 4
Points : 1
Points : 1
Citation:
Envoyé par papyxy Voir le message
Bien, voyons si j'ai bien compris. Je propose un petit prog VBS dans lequel on aura toutes les références et leurs remplaçants.
Celui-ci proposera de frapper une référence (copie/collée si vous voulez), après quoi il vous renverra la valeur substituée.
Ou alors à partir d'une liste déroulante, si vous préférez.
Suis-je dans la bonne ligne?
Merci c'est exactement ça mais sans menu déroulant car il y a toujours un risque d'erreur humaine.
Il me faut environ 250 rechercher/remplacer : A par B, C par D...X par Y...

Merci encore
manupapet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 18h26   #6
papyxy
Membre actif
 
Homme alain
retraité
Inscription : juillet 2011
Messages : 207
Détails du profil
Informations personnelles :
Nom : Homme alain
Âge : 67
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : retraité

Informations forums :
Inscription : juillet 2011
Messages : 207
Points : 152
Points : 152
Envoyer un message via MSN à papyxy Envoyer un message via Yahoo à papyxy Envoyer un message via Skype™ à papyxy
bien, je vais vous faire ce petit prog, mais il faudra le compléter vous même.
C'est à dire mettre toutes les références et leurs remplaçants.

Ou alors vous pouvez créer un fichier texte (.txt) dans lequel vous mettrez ces données. A raison d'une par ligne.
Par exemple : : M1256ST58475;VIS M5
Le (";") peut-être un autre caractère
papyxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2013, 19h11   #7
papyxy
Membre actif
 
Homme alain
retraité
Inscription : juillet 2011
Messages : 207
Détails du profil
Informations personnelles :
Nom : Homme alain
Âge : 67
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : retraité

Informations forums :
Inscription : juillet 2011
Messages : 207
Points : 152
Points : 152
Envoyer un message via MSN à papyxy Envoyer un message via Yahoo à papyxy Envoyer un message via Skype™ à papyxy
voila un code pour utilisation d'un fichier texte:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  const  ref    = "xxxxxxxx.txt"
 Set        dico = CreateObject("Scripting.Dictionary")
 Set        oFso = CreateObject("Scripting.FileSystemObject")
     if not ofso.fileexists(ref) then _
            msgbox "fichier non trouvé",, ref : wscript.quit
 
  Set f    = oFso.OpenTextFile(ref)
 
 while not  f.AtEndOfStream
     t=split(f.readline,";")
     dico.add  t(0),t(1)
 wend
  f.Close
        zr="Référence : "
        xr="Référence non trouvée:"
        z=zr
  do
        r = inputbox(z ,r,x)
        if r="" then exit do 'wscript.quit
        if dico.exists(r) then
                x=dico.item(r)
        else
          x=""  : r=xr & r   :z=zr
        end if
  loop
papyxy est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/02/2013, 09h37   #8
manupapet
Invité de passage
 
Inscription : mars 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 4
Points : 1
Points : 1
Bonjour,

Merci beaucoup pour l'aide apportée, c'est parfait.
manupapet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2013, 09h48   #9
papyxy
Membre actif
 
Homme alain
retraité
Inscription : juillet 2011
Messages : 207
Détails du profil
Informations personnelles :
Nom : Homme alain
Âge : 67
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : retraité

Informations forums :
Inscription : juillet 2011
Messages : 207
Points : 152
Points : 152
Envoyer un message via MSN à papyxy Envoyer un message via Yahoo à papyxy Envoyer un message via Skype™ à papyxy
Bonjour
"parfait" est un peu exagéré! Car on peut encore améliorer pour faciliter le travail de l'opérateur.
Par exemple en utilisant le presse-papier. A vous de voir...
je peux cogité la-dessus.
papyxy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h21.


 
 
 
 
Partenaires

Hébergement Web