Limites d'Excel ?

Bonjour à tous,

Pour des problèmes de généalogie, je suis obligé de travailler sur des grands nombres.

Je m'aperçois qu'après 999 999 999 999 999 Excel (2016) ne sait plus calculer.

Exemple : 1 556 439 709 859 870 + 1 donne toujours 1 556 439 709 859 870.

Si je saisi manuellement le nombre 1 556 439 709 859 871, il affiche quand même 1 556 439 709 859 870

Est-ce une limite d'Excel ou y a t-il un paramètre à modifier pour qu'Excel fasse ses calculs correctement ?

Merci d'avance à ceux qui pourront m'aider à résoudre cette énigme !

Cordialement

Bonjour,

excel travaille avec 15 chiffres significatifs.

A quoi te servent ces nom en généalogie ??? Il y a sans doute moyen de faire autrement.

eric

Bonjour,

Bonjour Eriiic,

Nom, nombres...

Un petit café, un jus de clémentine (je préfère) et un bon croissant au beurre pour bien démarrer la journée...

Un petit café, un jus de clémentine (je préfère)

moi aussi, mais il avait un goût bizarre ces derniers temps !

bonne réflexion à tous, j'attendais vos avis aussi !

Bonjour eriiic,

Chaque ancêtre porte un numéro qu'on appelle n° SOSA, c'est codifié comme ça.

Moi (qui fait ma généalogie), je porte le N°1.

Mon père porte le n° 1 X 2 donc 2

Ma mère porte le n° de mon père + 1 donc 3

Mon grand père paternel porte le n° de mon père X 2 donc 4 ... sa femme 4+1 donc 5

et ainsi de suite ....

Cette une méthode qui évite tous les doublons, mais quand on arrive à la 60ème génération on a des milliards de milliards et là ... Excel flanche !

Ce qui est tout de même curieux c'est qu'Excel calcule quand même sur des grands nombres si on fait une multiplication mais refuse les additions !

Bon, c'est pas grave, je vais mettre une apostrophe devant les chiffres que je veux corriger, ça marche ... mais c'est long !

Merci tout de même de t'être penché sur mon problème !

Cordialement

Landry

Bonjour Landry, le forum,

tu a écrit :

Exemple : 1 556 439 709 859 870 + 1 donne toujours 1 556 439 709 859 870.

Ce qui est tout de même curieux c'est qu'Excel calcule quand même sur des grands nombres si on fait une multiplication mais refuse les additions !

le nombre 1 556 439 709 859 870 est tellement grand qu'en comparaison, l'ajout d'une unité est quantité négligeable (c'est le cas de le dire ! ) ; c'est pourquoi ça n'a aucun effet : l'ordre de grandeur des 2 nombres est trop important !

quand Excel calcule sur des grands nombres avec des multiplications, il finit tôt ou tard par utiliser le format scientifique (ingénieur) : notation avec mantisse, lettre "E", exposant (éventuellement que des multiples de 3).

la notation scientifique utilisée est généralement la norme IEEE 754 ; plus d'explications ici :

https://fr.wikipedia.org/wiki/Notation_scientifique

dhany

Re,

pourtant j'ai bien pris mon café ce matin...

Si ça peut suffire, un Decimal en vba a une mantisse de 28 chiffres.

Je t'ai fait les 4 opérations de base en fonctions personnalisées, à mettre dans un module standard de ton classeur.

Les nombres doivent être en texte sur la feuille bien sûr (mettre les colonnes concernées à ce format). J'accepte les espaces séparateurs mais je n'en ai pas mis dans le résultat.

Complète ou demande si tu préfères en avoir.

J'ai mis une division décimale, si tu préfères une division entière précise le aussi

eric

18grands-nombres.xlsm (16.41 Ko)

PS :

si 28 chiffres suffisent on peut même imaginer une calculatrice.

Un double-clic sur un SOSA présenterait un mini arbre avec père, mère (grands-parents ?) et enfants.

Une sélection d'une étiquette mettrait le SOSA dans le presse-papier ou écraserait celui fourni.

Si tu penses que ça peut être intéressant il faudra préciser quoi y mettre, et comment se calculent les enfants.

eric

bonjour

60 générations ?

= 2 puissance 60

mais surtout, en comptant en moyenne une génération tous les 25 ans, tu remontes à 60*25 = 1500 ans

il est impossible que tu remontes à l'an 518

une tous les 20 ans -> an 818. Charlemagne quoi !

c'est pourquoi l'inventeur du code SOSA ne s'est pas préoccupé des grands nombres (en plus il n'avait pas Excel )

salut jmd,

et en remontant jusqu'à Adam et Ève, ça fait combien d'générations ?

(j'crois qu'l'inventeur du code SOSA avait pas pensé à ça non plus !)

dhany

Jésus Christ et nous = 2000 ans environ, soit 80 générations à peine

Pyramide de Khéops et nous = 4500 ans, soit 180 générations

les premiers chordés et nous = 500 000 000 années, soit 20 000 000 générations, c'est moins d'individus que la population de la Suisse !

https://fr.wikipedia.org/wiki/Chordata

on dirait de petits poissons ! ancêtres des humains, des mammifères, oiseaux, reptiles, dinosaures, poissons...

à condition de 1 génération / 25 ans en moyenne, ce qui n'est pas certain. Mais quel chemin parcouru en si peu !

Bonjour,

Multipostage :

Je donne ici la réponse fournie sous forme de fichier joint car elle émane du regretté Ti et elle mérite de figurer dans quelques archives...

Et cette autre que je ne connaissais pas.

A+

17grand-nombre-ti.zip (36.98 Ko)

Merci à vous les gars de vous être cassé la tête sur mon problème.

Cher JMD, tu es persuadé que je ne peux remonter jusqu'à 518 ! Détrompe-toi, je suis actuellement à -123 et je ne suis qu'un petit joueur en généalogie. Au passage je te signale que Charlemagne fait bien partie de mes ancêtres (à moi comme à 70% de la population française)

Cher Eriiic, je vais travailler sur les fichiers fournis, peut-être trouverais-je mon bonheur !

En attendant, je n'ai pas bien compris ton message : "si 28 chiffres suffisent on peut même imaginer une calculatrice.

Si tu penses que ça peut être intéressant il faudra préciser quoi y mettre, et comment se calculent les enfants."

Ça m'a l'air intéressant tout de même et au cas où tu aurais du temps à perdre, je te joins mon fichier (Pas propre et comportant donc des chiffres faux vu que je ne m'étais pas aperçu des faiblesses d'Excel) que je compte remettre au propre. Il se peut que ta méthode imaginée m'aide.

Cordialement

Cher JMD, tu es persuadé que je ne peux remonter jusqu'à 518 ! Détrompe-toi, je suis actuellement à -123 et je ne suis qu'un petit joueur en généalogie. Au passage je te signale que Charlemagne fait bien partie de mes ancêtres (à moi comme à 70% de la population française)

je le crois même pas

il n'y a aucune archive subsistante avant 1500

sauf si on a un roi. La branche est alors sur internet.

Ce qui laisse toutes les autres branches "mortes".

et on n'a plus besoin de SOSA, car je suppose que tout est dans le net. Inutile de se creuser.

j'ai vrai ?

Bonsoir jmd,

tu a écrit :

il n'y a aucune archive subsistante avant 1500

ça, j'sais vraiment pas, mais paraît qu'les anciens parchemins s'conservent très bien dans du formol.

dhany

Re,

A-priori ça passe, tu en es à 25 chiffres. Tu pourras ajouter une dizaine de génération

Voilà à quoi je pensais. Si tu double-cliques sur un SOSA (ici 778 219 854 929 934) tu obtiens cette fenêtre :

2018 09 17 00 33 36

En sélectionnant le Père tu obtiens son SOSA en-dessous.

Tu as accès à parents, grands-parents, conjoint et enfant.

Tu peux le copier, ou bien sélectionner la cellule destination (en erreur) pour aller le coller directement.

En cliquant sur le libellé 'SOSA Sélection' il t'est proposé de remplacer le SOSA source par celui-ci (supprimer la confirmation si tu préfères)

Double-cliquer sur un autre SOSA ré-initialise la boite également.

Regarde et fais des contrôles de grands nombres voir si tu es d'accord sur chaque parent.

Si tu vois un axe d'amélioration que ça te soit plus pratique tu dis, on verra ce qui est faisable.

J'ai mis les fonctions dans ton module SOSA, le reste est dans l'UF.

eric

PS : je colle en texte avec séparateur de millier, mais la macro est capable de le récupérer et de le traiter en grand nombre (de toute façon pas le choix, sinon excel recommencera à te perdre la précision)

PS2 : fichier supprimé puisque le demandeur ne donne pas suite ici et a démarré un autre topic

Bonjour Eriiic

C'est ton arbre ? impressionnant !

Salut Steelson,

Ah non, moi je ne remonte que jusqu'en 1645

eric

Rechercher des sujets similaires à "limites"