calcul du ou exclusif

  • Initiateur de la discussion Initiateur de la discussion stef9
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stef9

Guest
Salut tous le monde
Je cherche comment realiser la fonction de calcul ou exclusif (xor) soit en decimal soit en hexdecimal, d'une serie de nombre
Si quelqu'un peu m'aider
merci
@+
Stéphane
 
Bonjour Stéphane

Est ce que ceci te conviendrait :

For I = 1 To 4
nombre1 = Range('A' & I).Value
nombre2 = Range('B' & I).Value

If nombre1 = 5 Or nombre2 = 5 Then
If nombre1 = 5 And nombre2 = 5 Then
Range('C' & I).Value = ('Beurf !!!')
Else: Range('C' & I).Value = ('Bingo !!')
End If
Else: Range('C' & I).Value = ('Beurff !!')

End If
Next I

Bon courage
Léa
 
Salut lea

En faite je n'ai jamais fais de programmation sous exel ou VBA
donc le code que tu viens de me fournir je suis incapable d'en faire quelque chose.
Pourrais- tu m'expliquer en detail toute la manip a suivre (si le coeur t'en dis merci beaucoup d'avance )

@+
 
Le bout de code que je t'ai fais parvenir pe'rmet d'utiliser la fonction 'Ou exclusif' de la façon suivante :
tu as 2 séries de nombres
l'une de A1 à A4
l'autre de B1 à B4
on les compare à 5
si sur chaque ligne l'un ou exclusivement l'autre est égal à 5, alors en colonne C on écrit 'Bingo', sinon on écrit Beurf

Comment l'utiliser :
par exemple tu construis un bouton sur ta feuille en te servant de la barre d'outils de Visual Basic
En mode Création tu clic sur ce bouton avec le bouton droit de la souris
Une page VBA s'ouvre si tu choisis 'Visualiser le code', et deux lignes de code suivantes vont apparaître :
Private Sub CommandButton1_Click()

End sub
tu colles mon code entre deux
Tu quittes le mode création
Tu remplis les cellules A1 à A4 et B1 à B4 pour faire des essais en appuyant sur le bouton

Pour t'aider je joins un fichier de démonstration

Bon courage
Léa [file name=ou_exclusif.zip size=16046]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ou_exclusif.zip[/file]
 

Pièces jointes

Je te remercie pour ce bout de code
cependant c'est pas ce que je cherche a faire

En faite je voudrai faire le calcul
par exemple
5 xor 3 = 6
11 xor 11 =0
18 xor 0 =18

Je pense qu'il faut passé en mode binaire, faire le calcul ou exclusif sur chaque bit et en suite reconvertir le resultat en decimal
mais apres pour le realisé ....
A moins qu'il y ai quelque chose de plus simple 🙂
 
Stef, je ne comprends pas :

En faite je voudrai faire le calcul
par exemple
5 xor 3 = 6
11 xor 11 =0
18 xor 0 =18

peux tu détailler, je ne voudrais pas mourir idiote, bien que je ne sois pas pressée, il y a encore tellement de choses à faire en VBA Excel

Léa
 
bonjour Stef9, Léa et le forum,

si j'ai bien compris ta demande, il te faut utiliser VBA avec la fonction xor

si A1 et A2 sont tes valeurs

sub ouexclusif()

Range('A3')=range('A1') xor range('A2')

end sub

la fonction xor de VBA compare les nombre décimaux(transformés en binaire, mais on ne s'en occuope pas) bit par bit en employant le ou exclusif à chaque bit.
Le résultat est re transformé en décimal par vba

au passage,ette fonction est une méthode simple et naïve de cryptologie

Si tu utilises des nombres Hexa, tu dois auparavant les transformer en décimal sur ta feuille excel par la fonction hexdec (regardes l'aide)

tu peux le faire en vba avec la méthode worksheetfunction mais si tu ne connais pas trop vba fais cette conversion sur la feuille...

Bon WE et à +

Michel
 
Bonjour Michel, Stef9

Je ne connaissais pas cette utilisation du 'ou exclusif'. Jusqu'à présent je ne l'utilisais que sous sa 'fonction logique' : la porte est ouverte ou fermée.
Je n'avais jamais vu ce type de comparaison bit par bit de deux nombres décimaux transformés implicitement en binaire.
Mais au fait quelle peut bien être l'utilité d'une telle comparaison ?
A quoi peut servir 5 xor 3 = 6 ?

Ce serait gentil d'éclairer ma lanterne, comme je l'ai dit précédemment j'aimerais ne pas mourir idiote.

Merci
Léa
 
ben faite moi je m'en sert pour faire du calcul en 'logique Booléenne' c'est pour de informatique appliqué a l'electronique

On s'en sert pour faire un checksum entre chaque 'octet' envoyeéd'une trame et le resultat du ou exclusif de tous ces octets et envoyer a la fin de la trame
C'est pour voir si il n'y a pas eu d'erreur lors de la transmission.


Si non en esperant ne pas etre lourd est ce que tu peux me mettre la fonction de michel_m en fichier excel car je n'y arrive pas j'ai jamais fais de VBa
et sous VBA si tu peu me metre un ou deux commentaires histoires que je puis faire des ou exclusif sur plusieur case

merci beaucoup
 
Stef si tu veux utiliser le code de Michel pour en réaliser une espèce de petite 'calculette' c'est très simple
Sur ta feuille tu construis un bouton grâce à l'outils 'Boite à outils - controles', tu passes en mode création et ensuite tu tapes sur 'Alt' et 'F11'
la fenêtre VBA s'ouvrira, elle doit être constituée de deux parties
A gauche la liste des projets VBA
A droite (la plus importante), c'est là que tu écriras le code
Si la fenêtre de gauche n'apparaît pas tu clic sur 'Affichage' - 'Explorateur de projets'
Dans la fenêtre de gauche tu doubleclic sur Feuil1(feuil1) si ton bouton a été construit dans la feuille 1

Maintenant entre les lignes

Private Sub CommandButton1_Click()

End sub

tu places le code de Michel, ce qui te donneras

Private Sub CommandButton1_Click()
Range('A3')=range('A1') xor range('A2')
End sub

ta pseudo calculette est prête à fonctionner

tu rentres tes valeurs en A1 et A2, tu clic sur le bouton et tu obtiens le résultat en A3

Voila, maintenant si tu veux l'utiliser ailleurs tu changes les adresses de tes cellules (A1, A2 et A3)

Bon courage
Léa
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
233
Réponses
23
Affichages
676
Réponses
4
Affichages
266
  • Question Question
Réponses
1
Affichages
255
Réponses
4
Affichages
281
Réponses
5
Affichages
179
Retour