IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Faire un BINDEC de plus de 10 bits [XL-2007]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Par défaut Faire un BINDEC de plus de 10 bits
    Bonjour a tous,

    Après un recherche succincte, je m'en remets a vous.

    Je souhaite faire une conversion de binaire vers décimal de 16 bits, rien de plus simple me dis-je, je concatène mes bits et j'envoie dans la fonction BINDEC.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =BINDEC(CONCATENER(C5;D5;E5;F5;G5;H5;I5;J5;C4;D4;E4;F4;G4;H4;I4;J4))
    Celui ci me renvoie #NOMBRE, et après un passage sur l'aide d'Excel, la fonction BINDEC ne supporte pas plus de 10 bits.

    Donc ma question est: Est il possible de faire une conversion "simple" via une fonction ou autre de 16 bits vers un nombre décimal??

    C'est juste pour éviter la macro, mais si il faut je la ferai.

    Merci d'avance pour vos réponses

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour Brebiou,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =BINDEC(CONCATENER(C4;D4;E4;F4;G4;H4;I4;J4))+BINDEC(CONCATENER(C5;D5;E5;F5;G5;H5;I5;J5))

  3. #3
    Membre confirmé Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Par défaut
    Bonjour sabzzz,

    Hélas ta solution n'est pas correcte, dans le système binaire du moins, car l'addition de ces deux séries ne tient pas compte du poids des bits.

    Ex: 0111 1100 1000 1110 donne 31 886

    alors que BINDEC(0111 1100)+BINDEC(1000 1110) = 124+142 = 246
    Merci tout de même

  4. #4
    Membre confirmé Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Par défaut
    Je suis finalement passé par une macro, Excel ne permettant pas de manière plus simple de de faire cette conversion.

    [EDIT] Pour la version sans macro, voir un post plus bas

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Par défaut
    Je vois que tu as résolu (par macro) le problème.
    Ce qui complique la tache, c'est que tes données soient sur une matrice de 2 lignes.
    Avec les données sur 1 ligne, on aurait pu envisager un SOMMEPROD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(C4:R4*2^(16-LIGNE($1:$16)))
    ou en concaténant les données dans 1 celule (A1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1);2^(NBCAR(A1)-LIGNE(INDIRECT("1:"&NBCAR(A1)))))
    A+

  6. #6
    Membre confirmé Avatar de Brebiou
    Homme Profil pro
    Automaticien
    Inscrit en
    Décembre 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 86
    Par défaut
    Citation Envoyé par GerardCalc Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(C4:R4*2^(16-LIGNE($1:$16)))
    Cette formule me retourne 58000 et des poussières (toujours avec l'exemple 31 886)

    Citation Envoyé par GerardCalc Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(1*STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1);2^(NBCAR(A1)-LIGNE(INDIRECT("1:"&NBCAR(A1)))))
    Par contre celle ci me retourne bien la bonne valeur, merci pour ce petit coup de pouce, ça me permet d'avoir un classeur sans macro

    Mon problème est donc vraiment résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Et il possible de faire un autofilter sur plus de 2 variables?
    Par Esmax666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/06/2009, 15h50
  2. Cherche Article sur les types de plus de 64 bits
    Par rvzip64 dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2009, 18h41
  3. [Joomla!] Comment faire un menu avec plus de 2 sous-menus ?
    Par sircus dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 11/02/2009, 18h52
  4. [TP] Dépassement de capacité pour nombre de plus de 32 bits
    Par dr_kain dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 26/10/2006, 23h52
  5. Opérations sur plus de 64 bits
    Par lsd dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 20/07/2005, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo