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 :

Jour ouvré +2 [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 28
    Par défaut Jour ouvré +2
    Bonjour à tous,

    j'ai bien tenté de trouver sur le net comment utiliser les jours ouvrables en VBA mais tout ce que je trouve ce sont des codes pour compter le nombre de jours ouvrés entre deux dates, ce qui n'est pas ce que je recherche.

    Je travaille actuellement sur une macro permettant de mettre une condition sur le jour ouvrable+2.
    Par exemple si l'on est jeudi, j'aimerai faire quelque chose comme :

    If (Cells(I, 3) = Date + 2) And (Cells(I, 4) <> "") Then...

    Mais le problême avec ce code c'est qu'il testera la date du samedi, et non du lundi.

    Any ideas?

    Merci d'avance!

  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,

    Tu peux utiliser l'équivalent de la fonction Excel SERIE.JOUR.OUVRE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var = Application.WorkDay(Date, 2)
    renvoie la date correspondant à la date d'aujourd'hui + 2 jours ouvrés.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Tu peux utiliser l'équivalent de la fonction Excel SERIE.JOUR.OUVRE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var = Application.WorkDay(Date, 2)
    renvoie la date correspondant à la date d'aujourd'hui + 2 jours ouvrés.
    Bien

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 28
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Tu peux utiliser l'équivalent de la fonction Excel SERIE.JOUR.OUVRE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var = Application.WorkDay(Date, 2)
    renvoie la date correspondant à la date d'aujourd'hui + 2 jours ouvrés.
    Citation Envoyé par rdurupt Voir le message
    Bien
    Merci beaucoup ca marche du tonnerre !

  5. #5
    Invité
    Invité(e)
    Par défaut
    tout le mérite revient à Daniel.C ça méthode est vraiment bien.

  6. #6
    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
    rdurupt :

    Ta solution est plus souple et peut s'adapter à tous les cas, notamment pour les pays où le week-end est le vendredi et le samedi.

  7. #7
    Invité
    Invité(e)
    Par défaut Bonjour, regarde ça
    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
    Sub test()
    Debug.Print Format(Mydate(3), "dddd dd/mm/yyyy")
    End Sub
     
    Public Function Mydate(intreval As Integer) As Date
    Dim jours
    jours = Array(0, 0, 1, 1, 1, 1, 1, 0)
    Dim I As Long
    Dim r As Integer
    r = 0
    While r = 0
            Mydate = date + intreval + I,
            r = jours(Weekday(date + intreval + I))
        I = I + 1
    Wend
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Cells(I, 3) =Mydate( 2)) And (Cells(I, 4) <> "") Then...

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

Discussions similaires

  1. Nombre de jours ouvrés entre 2 dates
    Par motlerang dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/12/2005, 13h25
  2. Nbre de jours ouvrés entre deux date
    Par lito74 dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 09h16
  3. Comment utiliser la fonction NBR.JOURS.OUVRES?
    Par MEHCOOPER dans le forum Access
    Réponses: 9
    Dernier message: 20/10/2005, 12h50
  4. Compter le nb de jours ouvrés entre 2 dates
    Par bugmenot dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/09/2005, 13h19
  5. [Info] Jours ouvrés entre 2 dates
    Par Dinytro dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 10/08/2005, 16h05

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