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 :

Calculer le nombre de date en fonction d'une condition.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut Calculer le nombre de date en fonction d'une condition.
    Bonjour à tous,

    je suis actuellement dans le developpement d'une application, et je rencontre un problème qui m'embete.

    Je souhaite tout simplement calculer le nombre de date compris entre le 1 et le 31 de chaque mois après un filtre par exemple, en fonction d'une colonne d'un autre onglet.

    je souhaite calculer le nombre de d'A3C+PQO de la ligne de l'onglet indicateur UEC, en fonction de la colonne D de l'onglet chrono.

    Par exemple: fair un filtre sur la colonne D de l'onglet chrono pour le mois de janvier 2015 et calculer le nombre de date présente afin de les ajouter a la ligne 9 de l'onglet indicateur UEC a partir de Janv 2015.( en automatique) Je n'y arrive absolument pas !!!!

    Je vous remercie d'avance pour toute aide ou réfléxion.Pièce jointe 168472TEST.xlsm

    Je vous me le fichier en pj.
    Pièce jointe 168472TEST.xlsm



    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Il semble que le modérateur ait supprimé ta pièce jointe, conformément à la charte du forum. Tu vas devoir expliquer plus précisément ton problème. Tes dates sont elles en ligne ou en colonne ? S'il s'agit d'un filtre, tu peux compter les valeurs filtrées avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.SubTotal(103,Range(...
    qui compte les valeurs visibles.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Bonjour,

    merci de votre réponse.

    Je vais essayer d'etre plus clair. Je vous joint des imprimes écrans.

    Je souhaite remplir la ligne "nb A3C+PQO" en ligne 9 de indicateur.
    Nom : indicateur.png
Affichages : 162
Taille : 82,5 Ko

    Cela correspond à l'ensemble des dates des projets présent dans l'onglet chrono de la colonne D. La colonne D représente les dates.
    Nom : chrono.png
Affichages : 161
Taille : 135,7 Ko

    Pour janvier 2015 il doit me retourner un résultat 10. Hors j'aimerai en automatique. Par le biais d'une macro. J'ai réussis a intégrer les autres valeurs "nb cotation V""nb cotation R" ... à l'aide de cette macro:

    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
    Public Function Fonction_Qui_Compte_Les_Couleurs()
     
     
    Dim dateChrono As Date
     
    Dim derlign As Integer
     
    derlign = Worksheets("chrono").Range("A10000").End(xlUp).Row ' on va chercher la derniere ligne utilisée de la colonne A
     
     'init des valeurs
            Worksheets("Indicateur UEC").Range("i9:t13") = ""
     
     
        For i = 48 To derlign 'on va parcourir du début de la colonne jusqu'à la dernière ligne identifiée
     
            For j = 9 To 20
     
     
     
            dateChrono = Worksheets("chrono").Range("D" & i).Value
            dateIndicateur = Worksheets("Indicateur UEC").Cells(8, j).Value
     
            If Month(dateChrono) = Month(dateIndicateur) Then 'On compare les mois
     
     
            If Worksheets("chrono").Range("D" & i).Value = Month(dateIndicateur) Then
            Worksheets("Indicateur UEC").Cells(9, j).Value = Worksheets("Indicateur UEC").Cells(10, j).Value + 1
     
             End If
            'Si la valeur de ma colonne est "V" (identifiée en Vert) alors j'ajoute +1 à mon compteur
            If Worksheets("chrono").Range("F" & i).Value = "V" Or Worksheets("chrono").Range("F" & i).Value = "v" Then
            Worksheets("Indicateur UEC").Cells(10, j).Value = Worksheets("Indicateur UEC").Cells(10, j).Value + 1
             End If
            'idem pour les Oranges
            If Worksheets("chrono").Range("F" & i).Value = "O" Or Worksheets("chrono").Range("F" & i).Value = "o" Then
                Worksheets("Indicateur UEC").Cells(11, j).Value = Worksheets("Indicateur UEC").Cells(11, j).Value + 1
             End If
            'idem pour les rouges
            If Worksheets("chrono").Range("F" & i).Value = "R" Or Worksheets("chrono").Range("F" & i).Value = "r" Then
                Worksheets("Indicateur UEC").Cells(12, j).Value = Worksheets("Indicateur UEC").Cells(12, j).Value + 1
             End If
            'NC
            If Worksheets("chrono").Range("F" & i).Value = "NC" Or Worksheets("chrono").Range("F" & i).Value = "nc" Then
                Worksheets("Indicateur UEC").Cells(13, j).Value = Worksheets("Indicateur UEC").Cells(13, j).Value + 1
             End If
     
     
     
     
            GoTo ligne_suivante ' Si on a trouvé 1 résultat, on passe a la ligne suivante
     
     
     
            Next j
     
    ligne_suivante:
        Next i
     
     
    End Function
    Cette macro comptabilise le nombre de couleur en fonction des dates et l'ajoute à la colonne correspondante, je n'arrive pas à traiter cette ligne 9.L'intégré à cette macro m'arrangerai.(ou non, en fonction de la faisabilité)
    Est-il possible de l'adapter afin d'intégrer l'ajout de la ligne 9?

    Ce que je ne comprends pas c'est comment je peux faire pour chaque mois en automatique. Je suis perdu lol ....

    Je vous remercie de passer du temps sur mon problème.

    Cordialement

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Si tu n'as que des dates concernant janvier 2015 en colonne D :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Plage As Range
    With Sheets("chrono").AutoFilter
        Set Plage = Intersect(.AutoFilter.Range, .[D:D])
        Sheets("Indicateur UEC").[I9] = Application.Subtotal(103, Plage) - 1
    End With

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Dans cette colonne je trouve toutes les dates existantes, après cela dépend du filtre.

    Je l'intégre à la fonction de l'ajout des couleurs? ou dans la feuille? Je suis débutant et je comprend pas tout.


    cordialement

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 71
    Par défaut
    Ceci serais que pour jenvier dans le cas d'une automatisation pour tout les mois de l'année 2015, qu'elle est la meilleur solution?


    Votre code génère l'erreur "Propriété ou méthode non généré par l'objet", il faut peut-etre que je l'adapte ?

    Je suis navré de vous déranger et a la fois je vous remerçie du temps que vous passez à m'aider.


    Cordialement

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/06/2013, 15h04
  2. Réponses: 7
    Dernier message: 19/10/2011, 16h09
  3. Calculer le nombre d'enregistrement en fonction des classes
    Par bigs3232 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/05/2010, 14h42
  4. Calcul du nombre de lignes en fonction d'une condition
    Par didier roustand dans le forum Débutez
    Réponses: 7
    Dernier message: 27/01/2010, 18h32
  5. Réponses: 7
    Dernier message: 24/11/2009, 12h28

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