• Initiateur de la discussion Initiateur de la discussion hermann
  • 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 !

hermann

XLDnaute Occasionnel
Supporter XLD
Bonsoir
Svp, comment utiliser les ancienne date pour faire la soustraction?

31/12/1935 - 21/03/1882
ou
21/03/1882 - 31/12/1935

Merci
@r

NB: Pas de problème.
=DATEDIF(h3;h5;"y")&" Ann., "
&DATEDIF(h3;h5;"ym")&" Mo., "
&h5-DATE(ANNEE(h5);MOIS(h5);1)&" Jrs."

27 Ann., 7 Mo., 30 Jrs.
 
Bonsoir
Svp, comment utiliser les ancienne date pour faire la soustraction?

31/12/1935 - 21/03/1882
ou
21/03/1882 - 31/12/1935

Merci
@r

NB: Pas de problème.
=DATEDIF(h3;h5;"y")&" Ann., "
&DATEDIF(h3;h5;"ym")&" Mo., "
&h5-DATE(ANNEE(h5);MOIS(h5);1)&" Jrs."

27 Ann., 7 Mo., 30 Jrs.
augmenter chaque date de 700 ans ( soit 255675 jours)
methode basée sur le fait que les jours de la semaine se retrouvent aux mêmes dates au bout de 28 ans et notamment les dimanches,

700 est un multiple de 28 qui permet d'exploiter les dates depuis l'an 1200
decal=255675
=DATEDIF(h3+decal;h5+decal;"y")&" Ann., "
&DATEDIF(h3+decal;h5+decal;"ym")&" Mo., "
&DATEDIF(h3+decal;h5+decal;"md")&" Jrs."

🙄 Nb :
le découpage en années mois et jours d'une durée calendaire n'a aucune valeur mathématique,
les durées des mois et années n'étant pas des constantes
 
Bonjour hermann, Modeste geedee,

J'ai fabriqué cette fonction VBA :
VB:
Function NewDateDif(dat1 As Date, dat2 As Date) As String
Dim ans%, mois%, jours%
ans = Year(dat2) - Year(dat1) + (DateSerial(2000, Month(dat2), Day(dat2)) < DateSerial(2000, Month(dat1), Day(dat1)))
mois = Month(dat2) - Month(dat1) + (Day(dat2) < Day(dat1))
If mois < 0 Then mois = mois + 12
jours = dat2 - DateSerial(Year(dat2), Month(dat2), Day(dat1))
If jours < 0 Then jours = dat2 - DateSerial(Year(dat2), Month(dat2) - 1, Day(dat1))
NewDateDif = IIf(ans, ans & " an" & IIf(ans > 1, "s", ""), "") & " " & _
    IIf(mois, mois & " mois", "") & " " & IIf(jours, jours & " jour" & IIf(jours > 1, "s", ""), "")
NewDateDif = Application.Trim(NewDateDif) 'SUPPRESPACE
End Function
Elle vaut ce qu'elle vaut, voyez le fichier joint car je n'ai pas vraiment testé.

A+
 

Pièces jointes

Bonsour®
Bonsoir
Svp, comment utiliser les ancienne date pour faire la soustraction?

31/12/1935 - 21/03/1882
ou
21/03/1882 - 31/12/1935

voir aussi :

De nombreux utilisateurs sont surpris d'apprendre qu'Excel ne peut pas fonctionner avec des dates antérieures à 1900. Je crée un complément qui résout ce problème. Le complément Fonctions de date étendue (XDate) vous permet de travailler avec des dates comprises entre 0100 et 9999.

Une fois le complément XDate installé, vous pouvez utiliser l'une des nouvelles fonctions de feuille de calcul suivantes dans vos formules:

  • XDATE (y, m, d, fmt) : renvoie une date pour une année, un mois et un jour donnés. En option, vous pouvez fournir une chaîne de formatage de date.
  • XDATEADD (xdate1, days, fmt) : ajoute un nombre spécifié de jours à une date. En option, vous pouvez fournir une chaîne de formatage de date.
  • XDATEDIF (xdate1, xdate2) : renvoie le nombre de jours entre deux dates.
  • XDATEYEARDIF (xdate1, xdate2) : renvoie le nombre d'années complètes entre deux dates (utile pour calculer les âges).
  • XDATEYEAR (xdate1) : Renvoie l'année d'une date.
  • XDATEMONTH (xdate1) : Renvoie le mois d'une date.
  • XDATEDAY (xdate1) : renvoie le jour d'une date.
  • XDATEDOW (xdate1) : Renvoie le jour de la semaine d'une date (sous forme d'entier compris entre 1 et 7).
Ce sont toutes les fonctions VBA.
 
- 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

Discussions similaires

Réponses
2
Affichages
823
Réponses
6
Affichages
793
Réponses
0
Affichages
1 K
Réponses
9
Affichages
2 K
Retour