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 :

Déclencher automatiquement 1 macro le 1er jour ouvré du mois [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut Déclencher automatiquement 1 macro le 1er jour ouvré du mois
    Bonjour,

    Après d'infructueuses recherches sur le forum et le net, je me retourne vers vous afin de savoir si quelqu'un aurait un code Vba afin de déclencher automatiquement une macro le premier jour ouvré de chaque mois ou le dernier tout en sachant que ce premier ou dernier peut être ouvré dans le calendrier mais fermé pour ma société (RTT).

    Par ex pour le 01/04/2013, ce jour est bien le premier du mois d'avril mais il est férié et le 02/04/2013 est un jour en RTT, il faut donc que la macro se déclenche le 03/04/2013 dès que j'ouvrirai le fichier Excel contenant cette macro.

    Cordialement

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    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 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    A condition que tu n'ouvres pas le classeur les jours non ouvrés, mais que, par contre, tu l'ouvres les jours ouvrés, mets cette macro dans le module "ThisWorkBook" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
        If Month([Feuil1!A1]) <> Month(Date) Then
            [Feuil1!A1] = Date
            'macro à déclencher
        End If
    End Sub
    J'utilise la cellule A1 de Feuil1. A toi d'adapter.

  3. #3
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Merci Daniel,

    Ok de toutes manières, les jours non ouvrés, je ne serais pas au boulot.
    Avec ton code, pas besoin de dire à Excel, dans une feuille, les jours de fermeture de la Sté ?

    Mais que dois je mettre en Feuille 1 A1 car je veux juste déclencher une macro avec dans le code : Call macro1()

    Si le 01/04/2013 férié, le 02/04 Rtt, et que je suis en vacances du 03/04 inclus jusqu'au 08/04 à 8h00, dès que je vais ouvrir le fichier Excel le 08/04 à par exemple 9h14, alors la macro va se déclencher ?

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 364
    Points
    34 364
    Par défaut
    Salut,

    la gestion de lancement automatique peut se faire avec des tâches planifiées

    En utilisant les deux tutoriels de création de tâches et les tâches planifiées et Excel, tu auras juste besoin de calculer la date du prochain lancement

    http://jpcheck.developpez.com/tutori...depuis-access/ (facilement applicable pour Excel)

    http://jpcheck.developpez.com/tutori...ge-parametres/

    Si tu as des problèmes avec le tuto, n'hésite pas à nous en faire part

  5. #5
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Merci pour la reponse ainsi que les liens mais le souci est que, vu mon niveau en Vba, les cours pourraient etre dans une autre langue , qu'il n'y aurait aucune différence pour la compréhension.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 364
    Points
    34 364
    Par défaut
    S'il s'agit simplement de créer un tâche planifiée, c'est sans lien avec le VBA dans le tuto

    Le calcul du premier jour ouvré à partir d'une date donnée, tu sais faire ?

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    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 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Ok de toutes manières, les jours non ouvrés, je ne serais pas au boulot.
    Avec ton code, pas besoin de dire à Excel, dans une feuille, les jours de fermeture de la Sté ?
    Donc, quand tu ouvriras la classeur, la macro s'exécutera automatiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
        If Month([Feuil1!A1]) <> Month(Date) Then
            [Feuil1!A1] = Date
            Macro
        End If
    End Sub
    La problématique de la macro est qu'il faut ouvrir le classeur. Celle du planificateur de tâches est qu'il faut ouvrir l'ordi.

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 364
    Points
    34 364
    Par défaut
    Attention, il n'est pas nécessaire que la session soit active pour que la tâche se lance, il suffit que la session soit ouverte, et que les login/mdp soient correctement renseignés pour lancer la tâche avec les bons droits

  9. #9
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    La problématique de la macro est qu'il faut ouvrir le classeur. Celle du planificateur de tâches est qu'il faut ouvrir l'ordi.
    J'ai bien compris la difference.
    Ma base de données est ouverte dès que je bosse donc pas besoin du planificateur.
    Je voudrais simplement savoir comment appeler ma macro a déclencher (ma macro se nomme [ envoi_mail() ]

    Faut il que je mette dans le code :
    Call envoi_mail()

    Si OUI : à quel endroit
    et sinon à quoi me sert Feuil1 A1 ?

    Cordialement.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    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 207
    Points : 14 362
    Points
    14 362
    Par défaut
    J'ai modifié la macro suite à un test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Open()
        If [Feuil1!A1] = "" Then [Feuil1!A1] = 1
        If Month([Feuil1!A1]) <> Month(Date) Then
            [Feuil1!A1] = Date
            envoi_mail
        End If
    End Sub
    PS. Ta macro va s'exécuter si la cellule A1 est vide. Tu drvrais y mettre la date d'aujourd'hui ou n'importe quelle date de mars pour une première exécution le premier jour ouvré d'avril.

  11. #11
    Membre confirmé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Points : 523
    Points
    523
    Par défaut
    Encore merci à tous et surtout à Daniel C.

    Maintenant je vais associé cette macro avec l'autre sujet que j'ai posté :
    Envoi de mail Outlook à partir d'une macro

    Comme çà chaque début de moi, la macro va envoyé un mail de rappel à divers destinataires (selon une autre macro).


    Encore

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

Discussions similaires

  1. [XL-2003] Mailing automatique le 1er jour ouvré du mois.
    Par graphikris dans le forum Contribuez
    Réponses: 3
    Dernier message: 24/09/2014, 19h21
  2. [XL-2003] Déclencher automatiquement 1 macro le 1er jour ouvré du mois
    Par graphikris dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2013, 18h31
  3. [XL-2003] 1er jour ouvrée d'une année
    Par Djohn dans le forum Excel
    Réponses: 2
    Dernier message: 07/09/2009, 16h51
  4. Réponses: 3
    Dernier message: 06/12/2007, 11h09
  5. question sur 6 jours ouvrés par mois de préavis du syntec
    Par Filippo dans le forum Droit du travail
    Réponses: 21
    Dernier message: 14/06/2006, 13h20

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