Formule VBA erronée

Bonjour,

J'ai un petit souci concernant résultat d'une formule.

Dans le document que je joins, la cellule est en jaune (elle ne me donne pas le nombre de jours)

Merci pour vos suggestions

Bonjour,

D'après le code utilisé, les calculs sont corrects.

Il y a deux lignes qui interviennent sur les dates, il faudrait demander au concepteur de ce code le pourquoi de ces calculs :

...
    If dat1 <= CDate("10/12/1562") Then dat1 = dat1 + IIf(Month(dat1) > 11, 10, 1)
    If dat2 <= CDate("10/12/1562") Then dat2 = dat2 + IIf(Month(dat1) > 11, 10, 1)
...

En les commentant, on obtient cet intervalle :

image

Voir avec PatrickToulon...

Bonjour,

Merci pour l'information.

Je ne suis toujours pas à l'aise avec l'encodage VBA. Je dois vraiment m'y mettre sérieusement.

J'ai enlever les deux lignes posant problème et tout fonctionne normalement.

Bonne fin de journée

Bonjour

la fonction date AMJ version(1 à 4) est garantie a partir de 1800 pour des raisons très simples

je vous en donne une petite partie

adoption du calendrier grégorien

Imposé par Grégoire XIII dans les États pontificaux, le calendrier
grégorien fut aussi immédiatement adopté par l'Espagne, l'Italie, la
Pologne et le Portugal.

En France, Henri III l'adopta le 9 décembre 1582, dont le lendemain fut le 20 décembre 1582

mais les différents parlements ont approuvé ce changement plus ou moins tardivement.

De plus, les provinces suivantes n'étaient pas françaises à l'époque :

Alsace : le 5 février 1682 est suivi par le 16 février 1682.

Lorraine : le 16 février 1760 est suivi par le 28 février 1760...

Suisse1584du 12 du 21 novembreCantons de Lucerne, Uri, Schwitz, Zug et Fribourg
Suisse1724Cantons d'Unterwald et Appenzel, après avoir adopté une l" fois la réforme en 1584 et 1590 et être retournés au calendrier julien par la suite
Suisse1622Canton du Valais
Suisse1701du 1er au 11 janvierVilles (et cantons) de Zurich, Berne, Schaffhouse, Genève, Bienne, Neuchâtel, etc.
Suisse1724en janvierVilles (et cantons) de Saint
Suisse1784Canton des Grisons, pour partie, certaines régions ayant basculé en 1798, voire en 1811

autrement dit rien que pour l'europe (on va dire il a fallu presque 200 ans pour mettre tout le monde au diapason)

en dessous ca ne peut qu'être bricolé de tout facon excel ne gere pas en dessous 190 et 1904 pour certaines configs

j'ai fait cette fonction pour gérer une différence de date entre deux siecles pour les vivants en 19XX et 2XXX donc il fallait que je descende jusqu'a 1800

l'astuce est tres simple j'ajoute 400 ans aux deux dates

pourquoi 400 ans ... ben pour les éventuelles années bissextiles

je l'ai bricolé avec une soustraction sur la base de 2000 mais ca reste du bricolage

diffé=2000-année de la plus vielle date des deux

date1=dateserial(year(date1)+diffé,month(date1),day(date(1))

date2=dateserial(year(date2)+diffé,month(date2),day(date(2))

maintenant que les deux dates son rammené au 20 eme ou21 em siecle

on fait les calculs

le raisonnement est simple en l'an 884 ou en l'an 2025 1 jour = toujours 24 heures , 1mois= toujours(28/29/30/31) jours selon les mois et année(bixssextiles comprises)et une année = toujours 365.24 jours pour excel

c'est pas parfait mais bon si vous avez des idées concrètes pour descendre plus bas j'ecoute

Rechercher des sujets similaires à "formule vba erronee"