Bonjour,
je fais suite au message ci-dessous:
http://www.developpez.net/forums/d78...maj-actif-non/
Peut être avez vous une meilleure idée que moi pour ce que je dois faire...
Comme vous pouvez le voir ci-dessus, il y a un champ "Code".
Les codes sont tous en Majuscules (d'où le post précédent).
J'aimerais que lorsqu'on cherche un code, les lettres s'affiche en MAJ (mais pas les tirets).
Dans le programme, un script VBScript est affectable à l'ouverture, la fermeture ou la validation d'une fenêtre.
Le défaut de "rendre active" la touche VERR MAJ (post précédent) est que les tirets deviennent des 6 (ce qui est encore acceptable).
Mais surtout, si on change de fenêtre qu'on désactive la touche VERR MAJ et qu'on revient sur le champs code, alors la touche reste désactivée...
J'ai eu deux idées pour réaliser ce que je veux:
La première étant de détecter l'appui sur la toucher "entrer" ou le clic avec la souris en dehors du champ.
Cependant, le champ code est un champ de recherche automatique, aussi, il recherche à chaque lettre écrite:
Exemple, si on tape "12" il sort toutes les lignes commençant par "12" sans besoin d'appuyer sur "entrer". Cette méthode est donc à oublier.
La seconde méthode est de changer toutes les lettres à leur appui en majuscule.
Pour cela, j'ai besoin de lancer une fonction en Background. (puisque les script ne sont activables qu'à l'ouverture etc.)
D'après ce que j'ai pu voir sur le net, il faut créer un objet WSH.
J'ai créé une fonction qui met en maj le champ code:
Maintenant j'aimerais activer la fonction à chaque appui sur une touche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Sub UpperCaseCode() 'Mise en majuscule du Code If txtQuickSearch = "Code" Then SetValue "saiQuickSearch", Ucase(GetValue("saiQuickSearch")) End If End Sub
J'ai trouvé des scripts, mais je suis toujours perdu.
Pouvez vous m'aidez à réaliser cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run("UpperCaseCode") WScript.Sleep 200 WshShell.AppActivate "UpperCaseCode"
Merci de Votre Aide.
Prosciuto
Partager