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 :

[E-03]comptage des jours dans un mois


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut [E-03]comptage des jours dans un mois
    bonjour,

    voila un probleme tout simple (je pense) il faudrait que je récupère les jours qui sont productif par mois a partir de ce bout de code

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    'on place les jours du mois
            vl_jour = 1
            If (vl_cpt = 1) Then
                vl_mois = nomMois(Month(Date))
                vl_annee = NomAnnee(Month(Date))
            Else
                vl_NumMois = (Month(Date) + vl_cpt - 1)
                If (vl_NumMois > 12) Then
                    vl_mois = nomMois(vl_NumMois)
                    vl_annee = NomAnnee(Month(Date) + vl_cpt)
                Else
                    vl_mois = nomMois(vl_NumMois)
                    vl_annee = NomAnnee(Month(Date))
                End If
            End If
            vlDate = Str(vl_jour) + "/" + vl_mois + "/" + vl_annee
     
            vl_colonne = 0
            While (IsDate(vlDate) And (vl_jour <= 31))
                Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select
                If IsDate(vlDate) Then
                    ' La date est valide
                       Select Case WeekDay(vlDate)
                        Case 1
                            ActiveCell.FormulaR1C1 = "Dim"
                        Case 2
                            ActiveCell.FormulaR1C1 = "Lun"
                        Case 3
                            ActiveCell.FormulaR1C1 = "Mar"
                        Case 4
                            ActiveCell.FormulaR1C1 = "Mer"
                        Case 5
                            ActiveCell.FormulaR1C1 = "Jeu"
                        Case 6
                            ActiveCell.FormulaR1C1 = "Ven"
                        Case 7
                            ActiveCell.FormulaR1C1 = "Sam"
                        End Select
     
                        ' on grise pour signaler un we ou jour ferie
                        ' attention 4 colonnes
                        If (getTypeJour(vlDate) <> CST_JOUR_NORMAL) Then
                            For vl_cpt = 1 To 4
                                Selection.Interior.Pattern = xlGray8
                                Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne + vl_cpt).Select
                            Next vl_cpt
                        End If
     
                        Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne).Select
                        ActiveCell.FormulaR1C1 = Str(vl_jour)
     
                        ' on grise pour signaler un we ou jour ferie
                        If (getTypeJour(vlDate) <> CST_JOUR_NORMAL) Then
                            Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne - 1).Select
                            For vl_cpt = 1 To 4
                                Selection.Interior.Pattern = xlGray8
                                Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne + vl_cpt - 1).Select
                            Next vl_cpt
                        End If
     
                        vl_colonne = vl_colonne + 4
                End If
                vl_jour = vl_jour + 1
                vlDate = Str(vl_jour) + "/" + vl_mois + "/" + vl_annee
            Wend
     
            While ((vl_colonne + CST_COLONNE_DEB_CALENDRIER_JOUR) <= CST_COLONNE_FIN_CALENDRIER_JOUR)
                Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select
                ActiveCell.FormulaR1C1 = "***"
                Cells(CST_LIGNE_CALENDRIER_NUM_JOUR, CST_COLONNE_DEB_CALENDRIER_NUM_JOUR + vl_colonne).Select
                ActiveCell.FormulaR1C1 = "***"
                vl_colonne = vl_colonne + 4
            Wend
            ' *******************************************************
            MsgBox () ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
            'on positionne les we et jours feries
            'calcul du nombre de collaborateurs
            nbCollaborateur = 0
            vl_ligne = 0
            Cells(CST_LIGNE_DEB_COLLABORATEUR + vl_ligne, CST_COLONNE_COLLABORATEUR).Select
            While (Selection <> Empty)
                nbCollaborateur = nbCollaborateur + 1
                vl_ligne = vl_ligne + 1
                Cells(CST_LIGNE_DEB_COLLABORATEUR + vl_ligne, CST_COLONNE_COLLABORATEUR).Select
            Wend
            vl_colonne = 0
            While ((vl_colonne + CST_COLONNE_DEB_CALENDRIER_JOUR) <= CST_COLONNE_FIN_CALENDRIER_JOUR)
                'on selectionne les jours
                Cells(CST_LIGNE_CALENDRIER_JOUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne).Select
     
                ' Si c'est un samedi ou un dimanche ou un jour ferie on rempli la colonne
                If (Selection.Interior.Pattern = xlGray8) Then
                    Range(Cells(CST_LIGNE_DEB_COLLABORATEUR, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne), Cells(CST_LIGNE_DEB_COLLABORATEUR + nbCollaborateur - 1, CST_COLONNE_DEB_CALENDRIER_JOUR + vl_colonne)).Select
                    Selection.Interior.Pattern = xlGray8
                End If
                vl_colonne = vl_colonne + 1
            Wend

    Problème : il faudrait que je récupère une variables qui me donne les jour productif c'est a dire les jour de travail sans compter les samedi et dimanche et les jours feriez.
    Y aurait t'il quelqu'un qui pourrait m'aiguiller
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Si tu fais une recherche sur le forum et dans la Faq sur "jours ouvrés" tu devrais obtenir des dizaines de réponses, ce sujet a déjà été traité maintes et maintes fois.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde aussi ici http://www.developpez.net/forums/sho...d.php?t=297576, les dernières réponses

    Demande de Charger la macro complémentaire "Utilitaire d'analyse"
    puis,
    Dans l'Editeur VB -> Ajouter atpvbaen.xls en référence au projet :
    Outils - Références -> Valider atpvbaen.xls

  4. #4
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    ha ba merci , j'avais déjà cherche sur le forum et google mais j'avais pas trouver , ceci d'y en cherchant j'ai trouver plein d'autre réponse a mes probleme , bon je regarde ça tout de suite .
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  5. #5
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Cette méthode me convient pas trop , n'y aurait t'il pas une variable qui pourrait me dire cela , une variables venant de mon bout de code?

    Merci
    Over
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as raison, ton code est beaucoup plus simple

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

Discussions similaires

  1. [SQL] Nombre de jours d'activité des clients dans le mois
    Par bafafamiageugb dans le forum SAS Base
    Réponses: 1
    Dernier message: 12/10/2014, 20h43
  2. [Dojo] Désactiver des jours d'un mois donné dans un calendrier dojo
    Par maximus2010 dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 10/05/2011, 16h42
  3. Gestion des jours dans un mois
    Par Prodige2020 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/05/2008, 09h48
  4. Jour dans le mois
    Par topolino dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2004, 15h01
  5. [CR]nombre de jours dans un mois donné
    Par liberio dans le forum Formules
    Réponses: 2
    Dernier message: 20/04/2004, 16h54

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