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 :

La moyenne de jours entre 2 dates en considerant quelques autres contraintes vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut La moyenne de jours entre 2 dates en considerant quelques autres contraintes vba
    Bonjour,
    Je suis entrain de travailler sur un code pour calculer la moyenne de jours entre deux dates Integration Date "Range Q" et Request Date "Range G" selon les mois
    Vous trouverez en pièce jointe le tableau "All" d ou je veux extraire les dates pour realiser les calculs et la forme de mon tableau ou je veux mettre mes calculs "ISO Indicators"

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    Sub IsointegrationRequest()
    Dim i As Integer
    Dim y As Integer
    Dim m As Integer
    Dim sumDate1 As Integer
    Dim nbDate1 As Integer
    Dim sumDate2 As Integer
    Dim nbDate2 As Integer
    Dim sumDate3 As Integer
    Dim nbDate3 As Integer
     
     
    nbDate1 = 0
    nbDate2 = 0
    nbDate3 = 0
    sumDate1 = 0
    sumDtae2 = 0
    sumDate3 = 0
    For i = 2 To lastlign
    y = Year(Worksheets("All").Range("Q" & i))
    m = Month(Worksheets("All").Range("Q" & i))
    If (IsDate(Worksheets("All").Range("Q")) And IsDate(Worksheets("All").Range("G"))) Then
    If ((Format(Range("Q" & i).Value, "yyyy") = y + 1) And m = "01") Or ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "10" Or m = "11" Or m = "12")) Then
    sumDate1 = sumDate1 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
    nbDate1 = nbDate1 + 1
    'Worksheets("ISO Indicators").Range("C2") = sumDate / nbDate
    ElseIf ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "02" Or m = "03" Or m = "04" Or m = "05")) Then
    sumDate2 = sumDate2 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
    nbDate2 = nbDate2 + 1
    'Worksheets("ISO Indicators").Range("D2") = sumDate / nbDate
    ElseIf ((Format(Range("Q" & i).Value, "yyyy") = y) And (m = "06" Or m = "07" Or m = "08" Or m = "09")) Then
    sumDate3 = sumDate3 + (Worksheets("All").Range("Q" & i).Value - Worksheets("All").Range("G" & i).Value)
    nbDate3 = nbDate3 + 1
    'Worksheets("ISO Indicators").Range("E2") = sumDate / nbDate
    End If
    Else
    sumDate1 = sumDate1 + 0
    sumDate2 = sumDate2 + 0
    sumDate3 = sumDate3 + 0
    End If
    Next
    If (nbDate1 > 0) Then
     Worksheets("ISO Indicators").Range("B2").NumberFormat = "General"
     Worksheets("Ratios").Range("B2").Value = sumDate1
     Worksheets("Ratios").Range("B2").NumberFormat = "@"
    End If
    If (nbDate2 > 0) Then
    Worksheets("ISO Indicators").Range("C2").NumberFormat = "General"
     Worksheets("ISO Indicators").Range("C2").Value = sumDate2
     Worksheets("ISO Indicators").Range("C2").NumberFormat = "@"
     
    End If
    If (nbDate3 > 0) Then
     
    Worksheets("ISO Indicators").Range("D2").NumberFormat = "General"
     Worksheets("ISO Indicators").Range("D2").Value = sumDate2
     Worksheets("ISO Indicators").Range("D2").NumberFormat = "@"
     
     
    End If
     
    End Sub
    Ce code ne me donne aucune erreur mais ne marche pas J AI RIEN qui apparait sur mon tableau de la feuille iso indicators et ca me soule

    Si vous pouvez m aider je vous serai reconnaissante treees tres reconnaissante Merci en ts casNom : Capture2.PNG
Affichages : 236
Taille : 7,8 KoNom : Capture3.PNG
Affichages : 216
Taille : 29,5 KoNom : Capture2.PNG
Affichages : 236
Taille : 7,8 KoNom : Capture3.PNG
Affichages : 216
Taille : 29,5 Ko

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Bonjour,

    1/ je ne sais pas de quel onglet est lancée la macro, mais il vaut mieux nommer les feuilles dans la macro
    Par exemple, en ligne 24 : remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(Range("Q" & i).Value, "yyyy")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(Worksheets("All").Range("Q" & i).Value, "yyyy")
    2/ je mettrai un point d'arrêt avant d'exécuter la macro :
    en lignes 25, 29 et 33 pour voir si les conditions IF sont bien respectées, et je pense qu'elles ne le sont pas :
    a priori la variable 'm' est un nombre et elle est comparée à du texte :
    Par exemple, en ligne 24 ! remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (m = "10" Or m = "11" Or m = "12")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (m = 10 Or m = 11 Or m = 12)
    3/ je pense qu'en ligne 57 il doit y avoir une erreur, ce doit être sumDate3 et pas sumDate2

    Cdlt

Discussions similaires

  1. Somme et moyenne pour un nombre de jours entre deux dates
    Par maxaler dans le forum Microsoft BI
    Réponses: 2
    Dernier message: 19/01/2016, 09h21
  2. Moyenne de jour entre 2 dates
    Par toulouseadr dans le forum Langage SQL
    Réponses: 1
    Dernier message: 14/08/2013, 16h30
  3. prob récupérer nb jours entre 2 dates
    Par Hydre dans le forum API standards et tierces
    Réponses: 23
    Dernier message: 11/10/2005, 12h34
  4. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 15h25
  5. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22

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