IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Déterminer le nombre de jours pour chaque année fiscale, entre deux dates données [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Points : 68
    Points
    68
    Par défaut Déterminer le nombre de jours pour chaque année fiscale, entre deux dates données
    Bonjour à vous,

    J'essaye de trouver une fonction ou une macro qui pourrait me calculer le nombre de jours contenu dans différentes "années fiscale" pour exprimer clairement ma recherche j'ai énoncé un exemple ci bas,
    J'ai défini des années fiscales, et lorsque je choisi une période qui chevauche plusieurs années je souhaiterai déterminer le nombre de jours pour chaque année fiscale.

    J'ai débuté par un code sur VBA avec des boucles If et For, mais c'est terrible....pourtant dans ma tête tout est clair!!!!

    Merci de votre aide,


    Années Fiscales 	Début 	        Fin 	
         2010	        04/01/2009	3/31/2010	
         2011	        04/01/2010	3/31/2011	
         2012	        04/01/2011	3/31/2012	
         2013	        04/01/2012	3/31/2013	
         2014	        04/01/2013	3/31/2014	
         2015	        04/01/2014	3/31/2015	
         2016	        04/01/2015	3/31/2016
    Exemple de Période:
    Début         Fin          nombre de jour total
    08/18/2011    3/22/2015    Datedif(début,fin,"d")
    Quel est le nombre de jours dans chaque année fiscale?

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 120
    Points : 181
    Points
    181
    Par défaut
    Salut le forum

    Avec les cellules suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    A2=2010
    B2=04/02/2009
    C2=03/31/2010
     
    En D2 =DATEDIF(MAX(DATE(A2;1;1);B2);MIN(DATE(A2;12;31);C2);"d")+1
    Mytå_Qc

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Points : 68
    Points
    68
    Par défaut
    Merci pour ton aide,

    Mais je cherche en fait le nombre de jour pour des dates qui chevauchent différentes années, là est la difficulté.........



    Pour reprendre l'exemple:

    Exemple de Période:

    Début 08/18/2011 Fin 3/22/2015

    nombre de jour total je le calcul de cette facon : Datedif(début,fin,"d")

    Mais si je souhaite connaitre le nombre de jours dans chaque année fiscale?
    C'est à dire entre le

    04/01/2010 et le 3/31/2011 on va avoir "x" jours

    2012 04/01/2011 3/31/2012 on va avoir 365 jours

    2013 04/01/2012 3/31/2013 on va avoir 365 jours

    2014 04/01/2013 3/31/2014 on va avoir 365 jours

    2015 04/01/2014 3/31/2015 on va avoir 357



    En fait, quel va être le nombre de jours dans chaque année fiscale?



    Merci à vous,

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    toujours pas clair la demande ... pourquoi dateDiff voir aide en ligne

    ne te conviens pas ?



    2015 04/01/2014 3/31/2015 on va avoir 357
    pourquoi 357?

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2011
    Messages : 82
    Points : 68
    Points
    68
    Par défaut
    BOnsoir à vous,

    Je reprends le tout:


    L'année fiscale débute le premier du mois d'avril et se termine le 31 du mois de mars. Il est important de noter que le nom donné à cette année fiscale est l'année la plus grande.
    Ex: l'année fiscale 2011 est en fait du 01/04/2010 au 31/3/2011.

    maintenant si je cherche le nombre de jour entre le 01/04/2010 au 20/05/2011contenu dans les années fiscales 2010 et 2011 je vais obtenir:
    365 jours pour 2010 et 50 jours pour 2011.

    J'espère que quelqu'un m'a compris,
    Merci quand même Mytå_Qc, si tu as l'occasion , n'hesite pas à faire un copié collé par message<(:~))

    A+

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Essaie avec ce code VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Option Explicit
    Private Sub Test()
    Dim AnFisc As String
    Dim Message, Title, Default, MyValue
    Dim DateDebut1 As String, DateDebut2 As String, DateFin1 As String, DateFin2 As String
    Dim NbJours1 As Integer, NbJours2 As Integer
        On Error GoTo errorHandler
        ' Définit le message
        Message = "Entrez l'année fiscale "
        ' Définit le titre
        Title = "Recherche du nombre de jours d'une année fiscale"
        Default = Year(Now)    ' Définition la valeur par défaut.
        ' Affiche le message, le titre et la valeur par défaut.
        AnFisc = InputBox(Message, Title, Default)
        'Première période (année N-1)
        DateDebut1 = CDate("1/04/" & (AnFisc - 1))
        DateFin1 = CDate("31/12/" & (AnFisc - 1))
        NbJours1 = DateDiff("d", DateDebut1, DateFin1) + 1
        'Deuxième période (année N)
        DateDebut2 = CDate("01/01/" & AnFisc)
        DateFin2 = CDate("31/03/" & AnFisc)
        NbJours2 = DateDiff("d", DateDebut2, DateFin2) + 1
        'Affichage du résultat
        MsgBox "Année fiscale " & AnFisc & Chr(10) & _
        "Nombre de jours en " & AnFisc - 1 & " : " & NbJours1 & Chr(10) & _
        "Nombre de jours en " & AnFisc & " : " & NbJours2 & Chr(10) & _
        "Nombre de jours total : " & NbJours1 + NbJours2
        Exit Sub
    errorHandler:
        'indique le numéro et la description de l'erreur survenue
        MsgBox Err.Number & vbLf & Err.Description
    End Sub
    Cordialement.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 120
    Points : 181
    Points
    181
    Par défaut
    Re le forum

    Par formule ça donnerait ceci

    Période Date_1 en C6 : 2011-08-18
    Période Date_2 en D6 : 2015-03-22

    De B7 à D13 les valeurs
    2010	2009-04-01	2010-03-31
    2011	2010-04-01	2011-03-31
    2012	2011-04-01	2012-03-31
    2013	2012-04-01	2013-03-31
    2014	2013-04-01	2014-03-31
    2015	2014-04-01	2015-03-31
    2016	2015-04-01	2016-03-31
    La formule en E7 à recopier vers le bas pour le nombre de jours par année fiscale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(0;MIN(D$6;D7)-MAX(C$6;C7)+1)*(C7*D7>0)
    Mytå_Qc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2000] VBA pour sommer des valeures entre deux dates (nombreuses données)
    Par maxhor dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/04/2014, 17h30
  2. Requete pour faire une différence entre deux dates
    Par PkoiTan2N dans le forum SQL
    Réponses: 2
    Dernier message: 28/04/2011, 13h14
  3. Lister les mois-année entre deux dates données
    Par Andry dans le forum Langage
    Réponses: 9
    Dernier message: 16/03/2009, 08h37
  4. Requête pour calculer le temps entre deux dates
    Par Badboy62cfp dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 13h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo