Saisie forcée dans une cellule

P

paul

Guest
Bonjour le forum,

Voici mon souci. Je souhaite forcer l'utilisateur à saisir au sein d'une cellule (ex: A1), stocker la valeur saisie dans une autre (ex:A4), effectuer une macro suivant le contenu de cette cellule, effacer la 1ere (a1) pour attendre une deuxieme saisie, et ainsi de suite.
En quelque sorte, créer une macro évènementielle suivant le changement d'état de la cellule A1. Je pourrais passer par un inputbox mais ce qui me gêne c'est l'obligation de valider par une action sur le clavier.
Je veux en effet que tout cela fonctionne uniquement suivant le changement d'état de la cellule A1, sans action sur une touche.

En fait pour tout dire, le contenu de la cellule A1 serait le résultat d'un flashage de code barre. Suivant le code lu, je démarre un compteur et une macro et j'attend un second flashage ainsi de suite. Je veux donc controler le fonctionnement uniquement par lecture du flasheur.

Ma deuxieme question est: Peux t on créer une macro qui démarrerai par l'appui sur les touches F1, F2 etc...Donc attendre l'évènement "appui sur touche F1, F2, etc...


Merci pour votre aide

A+

Paul
 
J

Jean-Marie

Guest
Bonjour

Regarde le fichier joint, pour que cela fonctionne il faut que la douchette renvoie aussi le caractère RC (retour chariot) après la lecture du code barre, c'est une obligation pour que l'événement "Change" d'une cellule soit activé. Pour le contrôler la bonne configuration de la douchette, c'est très simple, va dans un éditeur de texte quelconque (tu peux le faire aussi dans cette zone de saisie). Prend un code à barre douche le deux fois de suite.

Exemple, pour le code 1234567890, si tu obtiens :
12345678901234567890, la douchette n'est pas paramètrée correctement
1234567890
1234567890, ta douchette est bien configurée.

Pour ta deuxième question, je ne te conseille pas d'utiliser les touches de fonctions pour lancer des macros, malgré qu'il soit possible de le faire, regarde du côté de la méthode VBA SendKeys. Il est préférable de le faire par un bouton placé sur une feuille de calcul, ou dans une barre d'outils.

@+Jean-Marie
 

Pièces jointes

  • Douchette.zip
    8.8 KB · Affichages: 78
@

@+Thierry

Guest
Bonjour Paul, Jean-Marie

la méthode "SendKeys" n'est pas appropriée.

Je pense que tu voulais parler de la méthode "OnKey" Jean-Marie.

Application.OnKey "{F9}", "LaMacro"

(Attention pas mal de touches de fonctions ont une fonction dans Excel, par Exemple : [F1] = Aide, [F2] = Modification de la Cellule Active, etc... [F12] = Enregistrer Sous... etc, donc on risque de les perdre si à la place on met une macro)

NB : ne pas oublier le rétablissement en sortie :
Application.OnKey "{F9}", ""

Bon Dimanche
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69