allumer un feu vert ou rouge apres conversion bin

avoriaz

XLDnaute Junior
bonjour, le forum

et bien voila je reprends du service sur le vba .... B)

voila ce que je veux faire....

j'ai réalise une operation binaire sur une macro qui fonctionne j'ai le resulat dans une cellule exel qui me transforme simplement le chiffre decimal en binaire par la formule dec2bin( ' la case') ...

ca ca marche ...

maintenant ce meme resulat en binaire se presente sous differentes possibilité :


0
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

en faite je dois faire une comparaison avec une autre valeur par exemple celle ci :
0101

si la valeurs calculé est : 1111 alors je ca dois donner ceci

1010
je compare avec 1111

je retiens les identiques , ici le bits 2 et le bits 4
alors j'allume un feu vert sur le bits 1 et 3 ( les differents )
j'allume un feu rouge pour les bits 2 et 4 ' les identiques )

j'ai pas d'idee comment faire les voyant de feu, et si vous avez une idee pour la comparaison binaire pour trouver les identiques et les differents apres comparaison...

merci a vous

avoriaz

( j'avais vu a l'epoque une macro avec un feu rouge QQES part mais je sais plus ou la trouver et si je peux m'en servir )

merci encore

avoriaz
 

JJM

XLDnaute Occasionnel
J'ai un problème similaire en vue, mais j'avoue ne pas être sûr d'avoir bien compris le tien. Tu dis comparer 1010 avec 1111. Donc, à mon avis, les identiques seraient les bits 1 et 3 et les différents les bits 2 et 4. Or, tu dis exactement l'inverse. C'est une erreur, ou bien je n'ai pas compris ?

Pour les feux colorés, à ta place je créerais deux images : une pour le feu vert et l'autre pour le rouge et je les superposerais. Ensuite, en fonction des résultats, je rendrais l'un visible et l'autre invisible.

Mais je pense que le mieux serait que tu nous fournisses un fichier d'exemple (en fichier ZIP, moins de 50 ko, sans espaces ni accents dans son nom).
 

Moa

XLDnaute Occasionnel
Salut Avoriaz, salut Jmm !

Pour faire ta différence tu fais simplement une soustraction.

Pour faire tes couleurs, tu fais un format conditionnel.

Pas besoin de Vba, en fait...!

Regarde l'exemple joint.

Mais en fait il faudrait un pu plus de précision, sur ton résultat !

Est-il dans une seule cellule ou alors répartit sur 4 ?

De même est-il au format Texte ou au format numérique ?

@ +++


Moa [file name=AvoriazBinaire.zip size=2027]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/AvoriazBinaire.zip[/file]

Message édité par: Moa, à: 26/06/2005 09:01
 

Pièces jointes

  • AvoriazBinaire.zip
    2 KB · Affichages: 64

avoriaz

XLDnaute Junior
merci pour ta reponse,

mais j'utilise un userform pour saisir les valeurs, il faut vraiment que j'insere des voyants pour afficher la comparaison des bits dans l'userform...

merci a toi pour ton aide


sinon l'operation fonctionne ...

;)


pour jjm: tu te trompe pas vraiment, toi tu compte les bits de gauche a droite et moi de droite vers la gauche, ca reviens au meme

si qq1 peux me filer un exemple de feu !! merci

merci
avo

Message édité par: avoriaz, à: 26/06/2005 10:33
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

Ben moi au départ je croyais que tu voulais faire ça directement sur une feuille Excel, donc je t'ai répondu en conséquence, avant de lire ton dernier post où je me suis aperçu que tu voulais exploiter ce résultat dans un formulaire (ce que tu ne précisais pas au départ). Donc j'ai mis aussi une solution dans un formulaire.

Mais conclusion : mieux vaut être trop précis que pas assez, ça évite les pertes de temps.

Evidemment, il te restera encore à adapter à ton cas réel. [file name=CompareBits.zip size=17175]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CompareBits.zip[/file]
 

Pièces jointes

  • CompareBits.zip
    16.8 KB · Affichages: 55

Moa

XLDnaute Occasionnel
Re:allumer un feu vert ou rouge apres conversion b

Salut Ti, Salut les Gars !

Je viens de regarder vite fait juste avant de partir.

Ti, j'ai un problème avec le Userform dès que je saisi une valeur !

De plus, pour la différence, il me semble qu'elle ne soit pas juste.

Sinon, l'affichage des Led, excellent !

Je vous laisse et peut-être à vendredi prochain, à moins que j'aie un peu de temps en cours cette semaine, pour venir faire un tour.

@ +++


Moa
 

JJM

XLDnaute Occasionnel
Re:allumer un feu vert ou rouge apres conversion b

Bonjour Ti_, Avoriaz, Moa, le Forum,

Terrible, la solution de Ti_. En analysant le code ça m'ouvre des horizons pour autre chose, pour que je puisse faire plus simple, mieux, plus rapide et plus sûr (sur mon projet, pas sur un projet similaire à celui-ci).

Ce Forum est un vrai centre d'apprentissage, le meilleur que j'aie jamais vu, les cerveaux sont interconnectés et tout le monde participe à l'élévation du niveau général. Bref, la vraie intelligence, où chacun apporte ce qu'il a, sans compter et sans souci de gain personnel ni de se faire mousser à bon compte. Si seulement on pouvait trouver des forums similaires, dans d'autres domaines...

Mais je garde mon option graphique, à laquelle je tiens.
Merci encore et bonne journée.
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

Moa, quel problème as-tu dans la saisie du userform ?
Quant à la différence, je pense qu'en fait, c'est toi qui a mal interprété. Si j'ai bien compris Avoriaz, il s'agit d'une comparaison bit à bit (ce que donne la fonction Eqv du VBA, mais celle ci ne fonctionne pas trop bien sur ce projet)
1+1 =1
1+0 =0
0+1 =0
0+0 =1

Or, ta simple différence des deux valeurs ne donne effectivement pas le même résultat.
Mais attendons de voir ce qu'en dit Avoriaz lui-même :)
 
A

avoriaz

Guest
Re:allumer un feu vert ou rouge apres conversion b

salut les gas !!

un grand merci pour votre aide ...

ti ton userform me va impec, c'est exactement se que je veux en presentation , sauf que dans le fonctionnement c'est pas vraiment ca que je veux au niveau du calcul .....


si j'ai

1+1 = 1 alors j'affiche rouge
1+0 = 0 j'affiche vert

c'est pas un calcul de mathematique dans le sens du terme, mais une comparaison de byte , si le bit est identique je considere qu'il faut affiché rouge

et differents le vert

voila merci a tous pour votre aide

par contre la macro et hard, j'essaye de decrypter :whistle:

merci encore

avo
 
A

avoriaz

Guest
Re:allumer un feu vert ou rouge apres conversion b

avoriaz écrit:
salut les gas !!

un grand merci pour votre aide ...

ti ton userform me va impec, c'est exactement se que je veux en presentation , sauf que dans le fonctionnement c'est pas vraiment ca que je veux au niveau du calcul .....


si j'ai

1+1 = 1 alors j'affiche rouge
0+0 = j'affiche vert
1+0 = 0 j'affiche vert
0+1 = 0 j'affiche vert

c'est pas un calcul de mathematique dans le sens du terme, mais une comparaison de byte , si le bit est identique en 1 je considere qu'il faut affiché rouge seulement se cas la ...


voila merci a tous pour votre aide

par contre la macro et hard, j'essaye de decrypter :whistle:

merci encore

avo
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

bah, pour la modification, il suffit de changer la ligne :

LabsBit(Bcle).ForeColor = Choose(Car, Rouge, Vert, Blanc)

par :

LabsBit(Bcle).ForeColor = Choose(Car, Vert, Rouge, Blanc)

et ça devrait aller

dans la foulée, je viens de m'apercevoir qu'un '=' a disparu dans ma fonction DecToBin, donc revoici la bonne :

Function DecToBin$(ByVal Arg$)
If Arg <> '' Then DecToBin = Evaluate('DECBIN(' & Arg & ')') Else DecToBin = '0'
End Function

Message édité par: Ti_, à: 27/06/2005 07:24
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

Bonjour Ti, Avoriaz, Moa, JJM, le Forum

Attention, le problème de Moa vient de m'arrIver sur un PC avec une installation toute 'fraiche' d'Excel 2003 et j'avais une erreur 13 'Incompatibilité de type' sur la Function Perso DecToBin de Ti...

En fait c'est très simple si vous avez le même problème quand vous voulez tester la démo de Ti qui est excellente comme à son habitude, il suffit d'activer la macro complémentaire (Add-Ins) 'Utilitaire d'Analyse' et tout rentrera dans l'ordre pour exploiter la Fonction 'DECBIN'.

Bonne Journée
@+Thierry
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

ah oui, merci Thierry. En fait, quand j'ai écrit le programme je me suis dit que si Avoriaz parlait de DECBIN c'est que l'utilitaire d'analyse était déjà installé et je ne m'en suis plus préoccupé, mais j'ai oublié de prévenir les autres, ce qui est désormais chose faite... ;)
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

ah ben tiens j'avais pas vu la rectification d'Avoriaz concernant les couleurs et ma solution ne marchera pas telle quelle. Donc Avo, patiente un petit peu que je modifie ça en fonction de tes nouvelles règles :

1+1 = 1 alors j'affiche rouge
0+0 = j'affiche vert
1+0 = 0 j'affiche vert
0+1 = 0 j'affiche vert

je remettrai carrément le nouveau fichier, ce sera plus simple pour les corrections.
 

Ti_

Nous a quitté
Repose en paix
Re:allumer un feu vert ou rouge apres conversion b

ben voilà la nouvelle mouture, en espérant que cette fois-ci elle sera conforme à ce que souhaite Avo [file name=CompareBits2.zip size=16645]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CompareBits2.zip[/file]
 

Pièces jointes

  • CompareBits2.zip
    16.3 KB · Affichages: 54

Statistiques des forums

Discussions
312 286
Messages
2 086 804
Membres
103 392
dernier inscrit
doc_banane