Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Nombre de jours par mois entre deux dates

Pamé, le mercredi 2 août 2006 à 10:07:05
Bonjour !
J'aimerai calculer le nombre de jours par mois dans un intervalle de date.
Exemple :
15/01/06 au 15/04/06
janv = 17 jours
Fev = 28 jours
Mars = 31 jours
Avril = 15 jours
Y aurait il une formule excel qui permettrait de décompter le nombre de jours par mois dans pour une date de début et une date de fin données.
Merci pour votre aide.
Répondre à Pamé  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Guillaume, le samedi 2 décembre 2006 à 14:13:17
Bonjour,

Je me suis posé la même question et voilà comment je m'en suis sorti

Dans mon tableau Excel
Date de début = colonne L
Date de fin = colonne M

Janvier : Colonne Q
Février: colonne R
Mars : colonne ?? :) S etc...

Tout d'abord j'ai mis en ligne 1 le 1er jour de chaque mois et ligne 2 le dernier jour du mois
Q1 = 01/01/2006
Q2 = 31/01/2006

(il suffit de les mettre en janvier et février et de faire glisser pour avoir premier et dernier dans chaque colonne suivante)

Ma base commence donc en ligne 3 et j'ai tapé la formule suivante en cellule Q3:
=MAX(SI($L3-Q$1<0;MIN(($M3-Q$1+1);Q$2-Q$1+1);SI($L3-Q$2>0;0;MIN(Q$2-$L3+1;$M3-$L3+1)));0)

Pour le reste du tableau copier/coller

Explication:
SI($L3-Q$1<0 : si date de début est inférieur au premier jour du mois

VRAI: MIN(($M3-Q$1+1);Q$2-Q$1+1): min de date fin -1er jour du mois et du nombre de jours dans le mois.
Ex: si date de fin = 16/02/06. En janvier Date fin -1er jour = 63, nb jour janvier = 31. la formule retourne 31

FAUX: SI($L3-Q$2>0: si date de début> dernier jour du mois:

VRAI: aucun jour dans le mois voulu donc 0 (ex date de début 16/02/06, en janvier 0 jours)

FAUX: MIN(Q$2-$L3+1;$M3-$L3+1))): mini de dernier jour du mois - date de début +1 ; date fin - date de début +1
Ex si début 04/02/06 et fin 16/02/06 formule retourne 13 jours

J'ai rajouté autour de ça Max (Formule; 0) pour éviter les nb jours négatifs car si la date de début est inférieure 1er jour du mois mais que la date de fin est aussi inférieure au 1er jour du mois, le calcul se fait en négatif (ce qui ne nous intéresse pas) donc dans ce cas: 0

Voilà, j'espère avoir été suffisamment clair.
Répondre à Guillaume

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Vivien, le jeudi 5 juillet 2007 à 11:51:04
Pour calculer l'interval entre deux dates il existe une fonction sur excel mais elle n'est pas rentrée dans l'aide
DATEDIF(date la plus ancienne;date la moins ancienne,"X")

A la place de X il faut mettre
d pour jours, m pour mois et y pour an.

http://www.simple-excel.com/excel-fonctions-dates-heures.htm
Répondre à Vivien

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Eric, le jeudi 6 décembre 2007 à 16:50:56
Voici mon problème:


Une plage de données:

100
155
158
456
800

Combien de cellules y-a-t-il entre 100 et 500?

Avez-vous une solution à mon problème?

Merci.
Répondre à Eric

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
mahl_doumham, le lundi 21 juillet 2008 à 14:18:14
Bonjour,
J'ai besoin d'un code javascript pour calculer le nombre de jours entre deux dates.
Répondre à mahl_doumham

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
lermite222, le lundi 21 juillet 2008 à 15:09:40
Messieurs mahl_doumham et Vivien

Il serait préférable que vous créiez votre propre « topik » message personnel. Cela rendra le poste (ici) plus compréhensible, et nous pourrons traiter vos souci avec plus d’efficacité.
Donc
Faites ce qui suit, SVP
Merci
http://img139.imageshack.us/img139/8973/notdistrimq9.jpg
http://pageperso.aol.fr/balltrap34/demofairesontmessage.htm
http://perso.orange.fr/rginformatique/section%20virus/demofa­iresontmessage.htm
A+
EDIT erreur pour Vivien, tient pas compte de ma remarque c'est pour Eric
Tu a raison dans ta réponse.
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Répondre à lermite222

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 danimo, le mardi 22 juillet 2008 à 02:42:48
Bonjour,

Comme nous sommes sur le forum programmation, je poste ce petit code java qui peut-etre interessera d'autre personnes.

/**
* DECOMPTE EN JOURS MOIS PAR MOIS, A PARTIR D'UNE DATE DEBUT JUSQU'A UNE DATE FIN
*
* Le résultat est affiché par message info (showMessageDialog)
* ( EXEMPLE 4 : )
*
* ( <nombre de jours en > <nom_du_mois> <année> : <nbjours> )
* ( <nombre de jours en > <nom_du_mois> <année> : <nbjours> )
* ( ....................................................... )
*
* ( ------------------------------------------------------ ).
*
**/

/**
*
* LIMITATIONS PROVISOIRES:
*
* - Le nombre de lignes a afficher avec (showMessageDialog).
* - Il n'y a pas de controle date debut date fin.
* - L'annee fin ne doit pas etre > 1 a la date debut.
*
* Mais le principe existe.
*
**/

import java.io.*;
import java.util.GregorianCalendar;
import java.util.Calendar;


public class DecompteMoisParMoisEnJours

{
static int ex = 4;

// La table des noms des mois : tabmois[]
static String[] tabmois = {"janvier", "février", "mars", "avril", "mai", "juin",
"juillet", "août", "septembre", "octobre", "novembre", "décembre"};

public static String DecompteMoisParMoisEnJours()

{
// date debut
int aaD = 2006;
int mmD = 1;
int jjD = 15;

// date fin
int aaF = 2006;
int mmF = 4;
int jjF = 15;

int aa = 0;
int mm = 0;
int jj = 0;
aa = aaD;
jj = jjD;
String info = "";
for (int tours = 0; tours < 2; tours++)
{
if (tours == 0)
info+= "Date début 15/01/2006,\nDate fin 15/04/2006.\n\n";
else
info+= "Date début 15/12/2006,\ndate fin 15/03/2007.\n\n";
for (int i = 0; i < mmF; i++) // < mmF
{
mm = mmD + i;
if (mm == mmF) jj = jjF;
Calendar cal = new GregorianCalendar(aa, mm -1, jj); // les mois sont numerotes 0 a 11
int nbjours = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
int annee = cal.get(Calendar.YEAR);
int num_mois = cal.get(Calendar.MONTH);
int jour = cal.get(Calendar.DAY_OF_MONTH);
int nbre_jours = 0;
if (mm == mmD)
nbre_jours = (nbjours - jour) +1;
else
if (mm == mmF)
nbre_jours = jour;
else
{
nbre_jours = nbjours;
}
if (mm == 13)
{
mmD = 1;
aa = aaD +1;
i--;
}
info+= " nombre de jours en " + tabmois[num_mois] + " " + annee + " : "
+ nbre_jours + "\n"
+ "----------------------------------------------------------------" + "\n";
}
javax.swing.JOptionPane.showMessageDialog(null,info);
if (tours == 0)
{
// date debut
aaD = 2006;
mmD = 12;
jjD = 15;

// date fin
aaF = 2007;
mmF = 3;
jjF = 15;
info = "";
}
}
return "";
}

public static void main (String[] args)

{
DecompteMoisParMoisEnJours();
System.exit(0);
}
}

Cordialement.

Dan.
Répondre à danimo
[PhP] Parcourir des dates (Résolu) Voila j'aimerais savoir si il existe un moyen simple pour parcourir les jours entre 2 dates données sous la format: AAAA-MM-JJ ce que j'aimerais c'est pouvoir gerer les samedis/dimanches et les mois de 30jours. Enfin juste savoir si ya... www.commentcamarche.net/forum/affich-3162878-php-parcourir-des-dates
Concatener une date (Résolu) bonjour, j'ai un petit probleme sur excel / j'ai tros colonnes jour--Mois-2007 et je voudrais dans une autre colonnes avoir la date dans la meme cellule. j'ai essayé concatener mais ça ne marche pas . je vous remercie d'avance pour... www.commentcamarche.net/forum/affich-2967041-concatener-une-date
EXCEL : calcul différence dates en AA MM JJ (Résolu) Bonjour, Je voudrais obtenir le nombre d'années de mois et de jours entre 2 dates (en comptant TOUS les jours fériés inclus). La fonction DATEDIF ne donnant que l'un ou l'autre, mais pas les 3 en même temps (sic). Exemple : calculer la... www.commentcamarche.net/forum/affich-7226517-excel-calcul-difference-dates-en-aa-mm-jj
Incrementer une serie heure avec excel (Résolu)Bonjour, je souhaite incrementer une serie d'heure ( de minute en minute) et quand je demande d'incrementer , je n'ai que auto, nombre , jour mois année. y a t il une solution pour incrementer d'autre serie que celle du calendrier?... www.commentcamarche.net/forum/affich-9214477-incrementer-une-serie-heure-avec-excel
Nombre de mois entre 2 dates en vb.net (Résolu)Voilà mon pb : j'ai 2 dates au format DateTime et je voudrais connaitre le nombre de mois qu'il y a entre ces deux dates. Comment faire ? J'ai bien essayer de faire : Date2.Substract(Date1) mais j'obtiens un objet TimeSpan que je... www.commentcamarche.net/forum/affich-1269051-nombre-de-mois-entre-2-dates-en-vb-net
Difference entre 2 date ?? (Résolu)Slt !!!! je cherche a savoir comment fait on pour faire la difference entre 2 date sous forme SQL, .... merci... www.commentcamarche.net/forum/affich-1264249-difference-entre-2-date
Logitech X-230 2.1Nombre de satellites: 2.1, Subwoofer, Télécommande:No, Subwoofer, Configuration des satellites:2.1, Formats audio numériques supportés:232684 www.commentcamarche.net/guide-achat/logitech-x-230-2-1-232684-fiche-technique
Bose Companion 2Nombre de satellites: 2, Page web du produit:Anglais, Télécommande:No, Formats audio numériques supportés:530551, Configuration des satellites:2.0 www.commentcamarche.net/guide-achat/bose-companion-2-530551-fiche-technique
Logitech Z-2300 2.1Nombre de satellites: 2.1, Subwoofer, Télécommande:Yes (Wired), Configuration des satellites:2.1, Formats audio numériques supportés:232686, THX, Subwoofer www.commentcamarche.net/guide-achat/logitech-z-2300-2-1-232686-fiche-technique