Générer les colonnes qui se trouvent entre 2 dates (debut, fin)

Résolu/Fermé
Philippe - 27 juil. 2017 à 14:54
 Pgilippe - 28 juil. 2017 à 16:52
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
A voir également:

4 réponses

yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
Modifié le 27 juil. 2017 à 22:36
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?
0
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
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550 > Philippe
28 juil. 2017 à 10:26
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.
0
Pgilippe > yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024
28 juil. 2017 à 14:44
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
0
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
0
via55 Messages postés 14496 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 22 novembre 2024 2 735
28 juil. 2017 à 01:23
Bonjour Philippe,

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

Cdlmnt
Via
0
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
0
via55 Messages postés 14496 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 22 novembre 2024 2 735 > Pgilippe
28 juil. 2017 à 14:32
Bonjour,

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

Cdlmnt
Via
0
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.
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
Modifié le 28 juil. 2017 à 15:43
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.
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
28 juil. 2017 à 15:45
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).
0
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
0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550 > Pgilippe
Modifié le 28 juil. 2017 à 17:08
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
0
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
0