Générer les colonnes qui se trouvent entre 2 dates (debut, fin) [Résolu/Fermé]

Signaler
-
 Pgilippe -
Bonjour,

je voudrais générer un tableau partant de 2 colonnes
1ere - date de début
2eme - date de fin
de là une génération automatique par VBA :
générer autant de colonnes mois qu'il y a entre date de début et date de fin et calcul du nombre de jour pour tous ces mois amputé pour la 1ère colonne du jour de début et idem pour la dernière colonne.
Je vous remercie d'avance pour le coup de main.... car je tourne en rond... vive bientôt les vacance

4 réponses

Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021
867
bonsoir, il serait utile que tu donnes un exemple pour éviter toute ambiguïté.
ceci serait-il correct?
29/1/2016 15/4/2016 3 29 31 15
29/3/2017 15/6/2017 3 30 31 15
si c'était faisable par formule, aurais-tu réellement besoin de VBA?
Bonjour,
j'ai pas d’apriori formule ou vba.
C'est bien cela sauf qu'il y a x lignes et il faut que les données du mois année soit toujours dans la même colonne;
exemple ci dessous.
http://www.cjoint.com/c/GGCia3iyVSs
Merci pour ce debut de solution
Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021
867 > Philippe
il serait utile que tu complètes et expliques ton exemple: cela t'évitera de tourner en rond sans rien faire pendant que d'autres tentent de t'aider sans avoir compris ce que tu souhaitais.
les dates sont en colonnes N et 0.
les titres des colonnes P et suivantes sont-elles figées?
ta plus ancienne date de début est janvier 2014, et ta colonne P est mai 2014, est-ce réellement ce que tu souhaites?
peux-tu mettre les chiffres que tu attends en colonne P et Q? cela en fera un meilleur exemple, bien plus utile.
>
Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021

c'est le démarrage qui me poser problème, et je ne me repose pas sur les autres.
Et ton début de solution a été le point de départ
Voici l'excel avec l'élaboration de formule depuis ton début de solution.
J'ai quelques erreurs de formules

quand le mois/année de date début et mois/année date fin sont identique ligne 3 colonne AD

quand les mois sont >9 ligne 4 colonne AG à AI
J'ai transformé en numérique (ex 01/07/2016 en (201607)*1 je garde que année et mois mais cela n'a pas l'air de fonctionner.
Une idée??
fichier excel avec les formules
http://www.cjoint.com/c/GGCmKHVhYus
complément :
quand le mois/année de date début et mois/année date fin sont identique ligne 3 colonne AD le calcul est faux

quand les mois sont >9 ligne 4 colonne AG à AI
pas de calcul
Messages postés
13029
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
15 juin 2021
2 201
Bonjour Philippe,

Une possibilité simplement par formules :
http://www.cjoint.com/c/GGBxwMKbDcp

Cdlmnt
Via
Bonjour,

C'est bien cela sauf qu'il y a x lignes et il faut que les données du mois année soit toujours dans la même colonne;
exemple ci dessous.
http://www.cjoint.com/c/GGCia3iyVSs
Merci pour ce début de solution
Messages postés
13029
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
15 juin 2021
2 201 > Pgilippe
Bonjour,

Alors comme ceci ?
http://www.cjoint.com/c/GGCmFSeZhRp

Cdlmnt
Via
Merci Via55 de t'être penché sur mon problème.
Ta solution allée dans le bon sens mais mon explication n'était pas complète.
il y a yg_be qui m'a fournit une solution.
Merci quand même du temps que tu as passé.
Cordialement.
Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021
867
en fait, je pense que c'est assez simple.
pour chaque cellule à calculer, tu as deux périodes:
- l'une délimitée par la date de début et la date de fin des colonnes N et 0
- l'autre délimitée par le premier jour du mois de la colonne de la cellule et le jour avant le premier jour du mois suivant
il suffit donc de calculer le nombre de jours commun entre ces deux périodes.
la formule en P2 serait donc
=MAX(0;1+MIN(Q$1-1;$O2-1)-MAX(P$1;$N2))

et il te suffit de la recopier vers le bas et vers la droite.
j'ai supposé que les jours de fin ne devaient être comptés, sinon retire le -1 après $O2.
Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021
867
si tu le souhaites, je pense qu'il est possible aussi, par formule, de calculer la date du premier mois et les dates des mois suivants (pour la première ligne).
Merci de tes recommandations.
Wouah!!! super la formule, bien plus simple que la mienne.

Tu ferais comment pour calculer les mois/année de la 1ère ligne?
Car les date debut et fin de la requête peuvent être bien différente.
ex 01/04/2014 à 01/05/2017
la prochaine fois sera suivant la demande bien différente;
date s'étalant sur une ou plusieurs années (maxi 10) ou sur 1 mois ou X mois
Messages postés
16041
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 juin 2021
867 > Pgilippe
en P1, tu pourrais mettre: =DATE(YEAR(MIN(N:N));MONTH(MIN(N:N));1)
en P2: =DATE(YEAR(P1);1+MONTH(P1);1)
et recopier la formule de P2 vers la droite
Merci pour ton aide.
Mon tableau est finalisé
Je voyais plus compliqué que cela... comme quoi rien ne vaut la simplicité.

Je te remercie une fois de plus.
Cordialement