Bonjour est-ce que c'est possible de voir si les 0 ou les 1 se suivent avec une formule.
Exemples :
3 cellules
00000 00000 00111 = correct
3 cellules
00000 01010 111111 = incorrect
MErci de votre aide
Bonjour est-ce que c'est possible de voir si les 0 ou les 1 se suivent avec une formule.
Exemples :
3 cellules
00000 00000 00111 = correct
3 cellules
00000 01010 111111 = incorrect
MErci de votre aide
Prenons un exemple avec 3 cellules de 3 bits.
Si tous les bits de la première cellule sont à 1, ceux de la cellule suivante peuvent aussi avoir des 1.Si par contre, tous les bits de la première cellule ne sont pas à 1, les bits des cellules suivantes seront tous à 0.
Pour vérifier si les 1 se suivent, tu peux utiliser les puissances de 2.
Je viens de penser,
Pour t'aider essaie d'abord de faire un schéma, ça aide !![]()
Je t'explique comment faire le schéma, le reste viendra tout seul après.
Tu imagines un schéma un peu comme un arbre généalogique ok ?
On garde notre exemple avec les 3 cellules de 3 bits disons a1, a2 et a3.
si a1 = 110
ou 100
ou 000
a2 = 000
a3 = 000
si a1 = 111 :
a2 = 111
ou a2 = 110
ou a2 = 100
ou a2 = 000
si a2 = 111 :
a3 = 111
ou a3 = 110
ou a3 = 100
ou a3 = 000
si a2 = 110
ou 100
ou 000
a3 = 000
Comme je te disais, essaie de dessiner ça sous forme d'arbre, c'est plus simple à réaliser après avec les fonctions dans excel
Si je dois faire sur 8 bits cela va me faire un truc énorme
Mais Julien pour le projet que tu réalises tu peux te servir des nombres décimaux , à la place des nombres en binaire,(tu prend leur équivalent en base 10). Tu verras, ce n'est pas si énorme.
Ca veux rien direMais Julien pour le projet que tu réalises tu peux te servir des nombres binaires , à la place des nombres en binaire, tu prend leur équivalent en base 10. Tu verras, ce n'est pas si énorme.![]()
Je me suis corrigé, satisfait ? A part ça dis moi plutôt si tu as compris au lieu de jouer sur les mots
alor maintenant je te le fais en décimal :
si a1 = 7 :
a2 = 7 ou a2 = 6 ou a2 = 4 ou a2 = 0
------------------------------------------------
si a2 = 7 :
a3 = 7 ou a3 = 6 ou a3 = 4 ou a3 = 0
------------------------------------------------
si a2 = 6 ou a2 = 4 ou a2 = 0
a3 = 0
------------------------------------------------
si a1 = 6 ou a1 = 4 ou a1 = 0 :
a2 = 0 et a3 = 0
------------------------------------------------
sinon tu affiches ton message d'erreur
Moi je chercherais plutôt à récupérer, dans la concaténation des 3 champs, la position du premier 1 et la position du dernier 0.
Ensuite :
Si position 1er 1 < position dernier 0 alors Incorrect, sinon correct.
@+
Je ne vois pas comment t'expliquer autrement qu'avec ces deux exemples.
Désolé je n'arrive pas à comprendre ton algorithme. Je mets résolu je vais essayer autrement. J'ai une idée MErci quand même
Ca pourrait être une très bonne idée mais si j'ai bien compris, il veut que les 1 et les 0 ne soient pas "mélangés". Alors il faudrait plutôt prendre la position du DERNIER 1 et celle du PREMIER 0 pour les comparer tu ne penses pas ?
Y'a-t'il une formule dans excel pour faire ça ?
Non il faut bien comparer le 1er 1 avec le dernier 0 ! Sauf si une chaine comme 1111100000 est correcte aussi, auquel cas aucune des deux solutions ne fonctionnera... il faudra combiner les 2 !
Je regarde si c'est faisable sans VBA avec Excel...
Mon idée ne fonctionne pas je vais me retourné vers vos conseils
Justement ce que julien.biedermann veut, c'est vérifier que toutes les chaînes ont un format genre 111100000 ou 1100000000,... Sans que les 1 et les 0 soient mélangés et avec les 1 en premier
Julien,
Est-ce que les 0 doivent impérativement être avant les 1, ou est-ce qu'une chaine 1111111000000 est correcte aussi ?
Partager