Date

Résolu
Mathilde -  
 Mathilde -
Bonjour,

je rencontre un problèmes avec les dates. J'ai une date de début (par exemple 01/07/2011) et une date de fin ( 30/06/2016). Je souhaiterai afficher dans mes cellules tous les mois depuis le début jusqu'à la fin. Cela me donnerai:
01/07/2011|01/08/2011|01/09/2011|..............|30/06/2016
PS: la date de début et la date de fin serait rentrées par l'utilisateur dans deux cellules sur une autre feuille :
Date de début : 01/07/2011 en A1
Date de fin : 30/06/2016 en A2
Voici mon code :

Sub ColDate()
   Sheets("Feuil1").Activate
   Dat1 = Range("A1")
   Dat2 = Range("A2")
   Nbre_mois = (Year(Dat2) - Year(Dat1)) * 12 + Month(Dat2) - Month(Dat1)
   Annee = (Year(Range("A1").Value))
   Sheets("Paramètre").Activate
      For C = 2 To Nbre_mois + 1
         Cells(1, C).Value = DateSerial(Annee, C, 0)
      Next C
     
End Sub


Le problème c'est que lors de l'affichage, ça va me marquer :
31/01/2011|29/02/2011.....
Ca commence au 31/01/2011 au lieu du 31/07/2011
Quelqu'un à une idée pour que cela affiche à partir de ma date de début et non pas à partir de la date du début de l'année?

Merci par avance pour votre aide.

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour,

Peut-^tre sans macro:
en feuil1
en A1
=Feuil2!A1
en B1:
=SI(OU(A1="";MOIS.DECALER(A1;1)>Feuil2!$A2);"";MOIS.DECALER(A1;1))
tirer vers la droite
Michel
0
Mathilde
 
Bonjour,

Je suis obligée de faire sous macro. Je fais un reporting financier tout automatisé et les dates peuvent changer et c'est pour ensuite créer un tableau et un graphique avec ces dates... donc c'est plus simple pour mois d'automatiser ça..
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour
ceci
    m = Month(Dat1)
    For c = 2 To Nbre_mois + 1
        Cells(1, c).Value = DateSerial(Annee, m + 1, 1 - 1)
        m = m + 1
    Next c

Cdlt
0
Mathilde
 
Merci beaucoup, c'est exactement ça que je voulais.
Bonne journée
0