Incrémentation +/- Digit et Vérins

Bonjour à tous,

Je cherche à manipuler de plus en plus VBA, et du fait je fais des tests et des exercices. Je me lance des petits défis aussi.

Là par exemple je suis coincé, c'est pourquoi je demande votre aide pour m'expliquer certaines étapes.

J'ai un afficheur (virtuel) sur une feuille excel sur lequel je veux faire afficher les valeurs A. / 0 / 1 / 2 / 3 / 4 , nommés respectivement dans le programme (pour la dim i) 1 / 2 / 3 / 4 / 5 / 6.

J'ai également 2 valeurs pilotes VH et VV qui peuvent être égale uniquement à -1 / 0 / 1

Il y a un bouton/voyant "test" similaire à un on/off, une flèche vers le haut pour incrémenter i vers les positifs et une flèche vers le bas pour incrémenter i vers les négatifs.

J'explique le fonctionnement du programme voulut:

Le voyant test est au rouge, l'afficheur est vide, VH et VV à 0, je peux cliquer sur les flèches rien ne se passe.

Je clique sur "test", le bouton passe au vert, la valeur i = 2, l'afficheur affiche donc 0, VH et VV 0 également.

Si je clique sur la flèche rouge, i = 1, afficheur = A. VH = -1 et VV = 1,

si je reclique sur la flèche rouge rien ne se passe car je suis arriver à la valeur minimum de i.

  • Flèche verte, je repasse par l'état i = 2, afficheur = 0 VH et VV sont à 0
  • Flèche verte, afficheur = 1 VH = 1 VV = -1
  • Flèche verte, afficheur = 2 VH = 1 VV = 1
  • Flèche rouge, je repasse par i = 1 et ainsi de suite...

Une fois finis de faire varier les valeurs, je m'arrête sur n'importe laquelle (valeur i=6 par exemple), je clique sur "test", le voyant passe au rouge, les flèches devienne inerte, l'afficheur s'éteint et VH et VV sont forcé à 0.

Dans la feuille Excel j'ai mit le tableau de le transcription binaire des différentes valeurs de i. La case A1 sert de vérification visuelle de la valeur de i, chaques digit de l'afficheur a son nom dans une case adjacente, il y a également une transcription de la valeur de VH et VV selon les valeurs de i.

Mes soucis sont que je ne sais pas comment contraindre i à cette plage de valeur (de 1 à 6), je sais que je force le programme à être à VH et VV 0 au démarrage du programme et à son arrêt (mais c'est une condition obligatoire) avec comme seule différence l'afficheur à 0 au demarrage et éteint à l'arrêt, et enfin le problème des cliques via les flèches. J'ai réussi à afficher la valeur 1, mais rien de plus et après d'autre modif sa ne fonctionne plus du tout...

Voila voila, je pense que c'est un bonne exercice mais je suis un peu coincé, et un programme propre et détaillé m'aiderait beaucoup à me servir des clic et des plages de variables...

Merci d'avance !!

5test-ou.xlsm (21.25 Ko)

Bonjour,

Un début de réponse, avec ce que j'ai compris du code fourni. J'espère

Cdlt.

15kalew-v1.xlsm (27.29 Ko)

Merci, en effet c'est à peu près ça.

Les valeurs des digits et VH VV sont correct, seul le bouton "test" ne correspond pas, ainsi qu'un soucis de plage limite.

Quand le bouton est rouge l'afficheur doit être éteint, les flèches inertes et VH VV à 0.

Tout se met à fonctionner qu'au passage au vert du bouton "test". Là sa fonctionne à l'envers, mais je pense être en mesure de corriger ce détail. Par contre une fois que test à changé de couleur impossible de le rechanger, sauf via le bouton RAZ. Dans l'idée il est rouge rien ne se passe, je le passe au vert (afficheur 0 VH VV à 0, les flèches peuvent fonctionner) et après je le repasse au rouge et là de nouveau afficheur éteint VH VV à 0 et flèches inertes et c'est reparti pour un tour...

Je ne comprend pas trop le pourquoi du bouton RAZ... En fait RAZ est l'équivalent de "test" lorsqu'il passe au rouge. On ne peut pas réutiliser le bouton "test" plutôt qu'un autre bouton ?

Hormis le problème de couleur, lorsque je qu'incrémente et que j'arrive à i=6, si je continue de Up vers i = 7 puis i = 8, en effet i reste = à 6 et aucune autre valeur ne channge, mais si je Down ça fait comme si je passé fictivement à la valeur i = 7, i = 6...

Apparement je code continue d'incrémenter sans le montrer, et si je Up jusqu'à théoriquement i = 100, il faudra que je clique sur la flèche rouge 95 fois pour que l'afficheur passe de 4 à 3... Or je cherche à se que je puisse Up autant de fois que je souhaite et qu'il suffise d'un seul Down pour passer à i = 5, et vise versa 1000 Down s'il le faut et un seul Up pour passer à i = 2.

Personne d'autre pour donner un coup de main ??

Rechercher des sujets similaires à "incrementation digit verins"