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 :

Condition VBA J-4 sans les week end


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut Condition VBA J-4 sans les week end
    Bonjour

    Dans le fichier si joint j'ai joins un exemple c'est toujours plus simple qu'un grand discours.

    En fait je cherche a sommer sous condition en VBA et une des condition est

    For i = 2 To 10000

    If aujourd'hui()-4 sans compter les week end Then ect ect

    Mais je ne vois pas comment définir aujourd'hui -4 sans compter les week end
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 401
    Par défaut
    Ben il faut réfléchir.

    Si entre aujourd'hui (peut aussi être un week-end) et aujourd'hui moins 4, il y un week-end ou une partie de week-end, il faut enlever le ou les jours de week-end. et donc ralonger le -4 en ce qu'il faut.

    Moralité.

    C'est de la logique.

    Tu pars d'aujourd'hui.
    Tant que tu n'as pas compté y compris aujourd'hui et en reculant 5 jours hors week-end, tu recules.

    Pas de formule toute faite dans excel pour cela. Ettttt non !!!

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pas de formule toute faite dans excel pour cela. Ettttt non !!!
    A moins de ne pas avoir compris la question. La formule Excel SERIE.JOUR.OUVRE() , WORKDAY() en version anglaise permet de donner une date en fonction d'une date de départ et d'un écart jour.
    Donc pour calculer la date d'aujourd'hui -4 jours sans les week-end
    Exemple en Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SERIE.JOUR.OUVRE(AUJOURDHUI();-4)
    Exemple en VBA avec WorskSheetFunction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Debug.Print Format(Application.WorksheetFunction.WorkDay(Date, -4), "ddd dd/mm/yy")
    Le troisième argument de cette fonction permet de référencer une plage, contenant les jours fériés.
    Il est possible qu'il existe son équivalent en fonction date de VBA mais je n'ai pas le temps de chercher
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Bonjour

    La macro ne marchera que les jours ouvrés donc quand on la lance on peut pas etre le week end. Une des conditions pour faire ma somme est que sur la case date elle doit pas etre supérieur a J-4

    Par exemple on est lundi 11 juin, il faut prendre vendredi 8 jeudi 7 et mercredi 6

    Si on est mardi 12 juin, il faut prendre jeudi 7 vendredi 8 et lundi 11

    Si on est mercredi 13 juin, il faut prendre vendredi 8 lundi 11 et mardi 12


    Et je ne vois toujours pas comment faire.

    Mon objectif est de faire une somme apres plusieurs filtres.

    Mon premier filtre est de selectionner seulement les lignes qui ont dans la colonne A une date entre aujourd'hui et aujourd'hui()-4 SANS COMPTER les week end.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ta question était
    Mais je ne vois pas comment définir aujourd'hui -4 sans compter les week end
    J'ai répondu par rapport à cela.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre très actif
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 118
    Par défaut
    Merci Corona:

    Tu penses alors que je peux faire ça pour additionner tous les nombres de la colonne P qui date d'aujourd'hui a aujourd'hui -4 sans compter les week end?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME.SI('Daily Equity'!A3:P289;OU('Daily Equity'!A3:A289=SERIE.JOUR.OUVRE(AUJOURDHUI();-4);'Daily Equity'!A3:A289=SERIE.JOUR.OUVRE(AUJOURDHUI();-3);'Daily Equity'!A3:A289=SERIE.JOUR.OUVRE(AUJOURDHUI();-2);'Daily Equity'!A3:A289=SERIE.JOUR.OUVRE(AUJOURDHUI();-1);'Daily Equity'!A3:A289=SERIE.JOUR.OUVRE(AUJOURDHUI();0));'Daily Equity'!P3:P89)
    ??

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple avec SOMMEPROD en Excel. pour des dates qui se trouvent en plage $B$1:$L$1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD( (B$1:L$1 >= SERIE.JOUR.OUVRE(AUJOURDHUI();-4)) *  (B$1:L$1 <= AUJOURDHUI()) * (JOURSEM($B$1:$L$1;2)<6) * $B$2:$L$2)
    Un peu de lecture sur les fonctions Date et là aussi
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/09/2014, 12h39
  2. [XL-2007] comment faire pr mettre a mon code les jours de la semaine sans le week end
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/02/2011, 22h53
  3. requete de date sans les week-end
    Par bolloche dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/05/2008, 23h26
  4. [VBA][Word]Sauvegarder sans les macros
    Par Oui-Oui MB dans le forum VBA Word
    Réponses: 3
    Dernier message: 23/07/2007, 12h29
  5. Intervalle Date Sans Compter Les Week Ends
    Par datamind dans le forum Oracle
    Réponses: 6
    Dernier message: 05/05/2006, 18h14

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