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

  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 : 35
    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
    Points : 1 875
    Points
    1 875
    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 éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    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.
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  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
    Points : 15 543
    Points
    15 543
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as raison, ton code est beaucoup plus simple

  7. #7
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    c'etait ironique ?


    parce que j'aimerai juste me servir du code existant en faite.
    ---
    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/

  8. #8
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    je compte partir de cette algo :

    Si case pas griser alors
    jour_ouvree=jour_ouvree +1


    Quel est la condition que je peux utiliser pour savoir si la case est grise ou pas ?

    sachant que sur mon calendrier ce sont des petit Point qui grise la case .

    Je suis un peu perdu la .
    ---
    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/

  9. #9
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    En enregistrant la macro quand tu grises ta cellule, tu obtiens le code de la couleur.
    Récupère ce code, ensuite tu pourras faire un test dessus.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Range("H18").Interior.ColorIndex = 15 then
    Bonne journée

  10. #10
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    Ca j'ai compris , en faite je t'explique je suis en stage ,et on m'a demander de reprendre un code pour pouvoir l'optimiser un peu plus .

    Le hic je comprend comment on détecte la couleur mais j'arrive pas a détecter les case griser a l'aide de motif.

    Je me demande si ce n'est pas cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Interior.Pattern = xlGray8
    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/

  11. #11
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour avoir le code, c'est facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Range("H18").Interior.Pattern
    Pour tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Range("H18").Interior.Pattern = 1 then
    A+

  12. #12
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    ok j'ai bien reussi a faire cela , probleme ce que mon calendrier gere les mois au ferez a mesure et cela jusqu'à perpette , donc il faudrait que sur chaque feuille y aurait un moyen que j'insere dans une case la formule permettant de me donner les jours ouvrées:

    En partant de ce croquis

    une formule qui compte toute les case sans le motif .

    Est ce possible ?

    En attendant je poursuis mes recherche

    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/

  13. #13
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Non, mais tu en as une pour calculer le nombre de jours ouvrés entre deux dates
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.JOURS.OUVRES(A2;A3;A4:A6)
    Jète un oeil dans l'aide d'Excel à NB.JOURS.OUVRES

    Mais si tu veux un calendrier mensuel des jours ouvrés, j'ai ça
    'Un calendrier des seuls jours ouvrés. Une feuille par mois
    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
    Sub CalendrierDesJoursOuvrés()
    Dim ok As Boolean, jf As Boolean, JoursFériés As Variant, k As Byte
    Dim i As Integer, j As Integer, NoLigne As Integer, dateref As Date
        Application.DisplayAlerts = False
        'Suppression de toutes les feuilles du classeur sauf une
        ActiveWorkbook.Sheets.Add Before:=Worksheets(1)
        For i = ActiveWorkbook.Worksheets.Count - 1 To 1 Step -1
            Worksheets(i).Delete
        Next
        JoursFériés = Array("", "1 janvier 2007", "28 mars 2007", "1 mai 2007", "8 mai 2007", "17 mai 2007", "28 mai 2007", "14 juillet 2007", "15 août 2007", "1 novembre 2007", "11 novembre 2007", "25 décembre 2007")
        'On nomme la feuille qui reste (janvier)
        ActiveSheet.Name = Format(DateSerial(2007, 1, 1), "mmmm")
        NoLigne = 2
        For i = 1 To 365
            dateref = DateSerial(2007, 1, i)
            'Création de la feuille du mois
            'La feuille de janvier existe, on l'exclut : C'est le 1er du mois, mois > janvier
            If Format(dateref, "dd") = "01" And Month(dateref) > 1 Then
                NoLigne = 2
                ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
                ActiveWorkbook.ActiveSheet.Name = Format(dateref, "mmmm")
            End If
            jf = False 'Exclusion des jours fériés
            For k = 1 To UBound(JoursFériés)
                jf = jf Or InStr(Format(CDate(dateref), "dd mmmm yyyy"), JoursFériés(k)) <> 0
                If jf Then Exit For 'C'est un jour férié
            Next k
            If Format(Weekday(dateref), "dddd") <> "samedi" And _
                Format(Weekday(dateref), "dddd") <> "dimanche" And _
                Not jf Then
                ActiveSheet.Cells(NoLigne, 1).Formula = UCase(Left(Format(dateref, "dddd"), 1))
                ActiveSheet.Cells(NoLigne, 2).Formula = Format(dateref, "dd")
                NoLigne = NoLigne + 1
            End If
        Next
    End Sub
    Tu colles ça dans un module d'un classeur tout neuf et tu exécutes la macro.
    Tient compte des jours fériés (tu vérifies tout de même les dates)
    Te reste que la mise en forme à réaliser.
    Sans danger, ne mord pas

  14. #14
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    Aie mais ca ne fonctionne pas , c'est pas assez générique .
    le mieux c'est que je te montre le code que j'ai déjà fait .

    MOn document excel

    Je pense que quand tu verra cela tu comprendra mon probleme parce que m'exprime mal

    Merci encore pour l'aide

    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/

  15. #15
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    C'était juste pour le principe. Pour être plus "générique" je te propose ce lien. http://www.developpez.net/forums/sho...ours+ouvrables. Plus générique, j'ai pas !
    Bon courage pour l'adapter à ton besoin.

  16. #16
    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 : 35
    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
    Points : 1 875
    Points
    1 875
    Par défaut
    bonjour,
    bas ça me va pas trop, j'ai trouver ce qui me fallait enfin je lai coder , et publie le code ici , je tient a te remercié ce que tu ma dit ma beaucoup aider .

    Voici le 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
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
       Dim CST_JOUR_OUVRE As Integer
     
     
     
     
        If Range("D4").Interior.Pattern = 1 Then
        CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
        End If
     
         If Range("H4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("L4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("P4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("T4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("X4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AB4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AF4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AJ4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AO4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AS4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("AW4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BA4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BE4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BI4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BM4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BQ4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BU4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BY4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BU4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("BY4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CC4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CG4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CK4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CO4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CS4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("CW4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DA4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DE4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DI4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DM4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DQ4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
     
         If Range("DU4").Interior.Pattern = 1 Then
         CST_JOUR_OUVRE = CST_JOUR_OUVRE + 1
         End If
         MsgBox CST_JOUR_OUVRE
         ActiveSheet.Range("DV1").Value = CST_JOUR_OUVRE

    Le probleme qui manquais a mon code etait le ActiveSheet.
    ce n'est pas une constante mais j'avais la flemme de tout modifier ,
    maintenant je cherche a mettre en lettre a coter de ma variables le mot jours mais je vais chercher sur google et sur devellopez , ce que he je n'est pas encore fait!

    merci encore

    ++
    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/

+ 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