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

Excel Discussion :

programmer une tâche via VBA/Excel


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut [Résolu]programmer une tâche via VBA/Excel
    Bonjour,

    Tout est dit dans le sujet en fait.
    Est-ce qu'il est possible de crèer des tâches planifiée et les modifier via du code vba sous excel ?
    Si oui, vous savez m'expliquer comment faire svp ?

    Merci d'avance,

    simstef

  2. #2
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Par défaut
    C'est le principe même de VBA : ca sert à ca!
    Tu prend un cours VBA et t'apprend!

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    J'aurais peut-être du préciser : une tâche planifiée windows ...

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    Tu peux tester cette procédure pour créer une tache:


    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
    Option Explicit
     
    '----------------------------------------------------
    'Source:
    'http://www.tek-tips.com/viewthread.cfm?qid=794484
    '
    '----------------------------------------------------
     
    Private Declare Function NetScheduleJobAdd Lib "netapi32.dll" _
        (ByVal Servername As String, Buffer As Any, JobID As Long) As Long
     
     
    Private Type AT_INFO
        JobTime As Long
        DaysOfMonth As Long
        DaysOfWeek As Byte
        Flags As Byte
        Command As String
    End Type
     
     
    Private Enum JobAdd
        JOB_RUN_PERIODICALLY = 1&
        JOB_ADD_CURRENT_DATE = 8&
        JOB_NONINTERACTIVE = 16&
    End Enum
     
     
    Private Enum sjWeekdays
        Monday = 1
        Tuesday = 2
        Wednesday = 4
        Thursday = 8
        Friday = 16
        Saturday = 32
        Sunday = 64
    End Enum
     
     
    Private Enum sjDays
        d1 = 1
        d2 = 2
        d3 = 4
        d4 = 8
        d5 = 16
        d6 = 32
        d7 = 64
        d8 = 128
        d9 = 256
        d10 = 512
        d11 = 1024
        d12 = 2048
        d13 = 4096
        d14 = 8192
        d15 = 16384
        d16 = 32768
        d17 = 65536
        d18 = 131072
        d19 = 262144
        d20 = 524288
        d21 = 1048576
        d22 = 2097152
        d23 = 4194304
        d24 = 8388608
        d25 = 16777216
        d26 = 33554432
        d27 = 67108864
        d28 = 134217728
        d29 = 268435456
        d30 = 536870912
        d31 = 1073741824
    End Enum
     
     
     
    Sub Test()
        '(ouverture du bloc notes)
        vbScheduleJob "notepad.exe", DateAdd("n", 1, Now), JOB_RUN_PERIODICALLY, Wednesday, d4
    End Sub
     
     
    Private Function vbScheduleJob(strCommand As String, sjTime As Date, _
        AddFlags As JobAdd, Optional DayOfWeek As sjWeekdays = 0, _
        Optional DayOfMonth As sjDays = 0, Optional PCName As String = vbNullString) As Long
     
        Dim myInfo As AT_INFO
        Dim JobID As Long
     
        With myInfo
            .Command = StrConv(strCommand, vbUnicode)
            .Flags = AddFlags
            .JobTime = DateDiff("s", "00:00:00", Format(sjTime, "hh:mm:ss")) * 1000
            .DaysOfWeek = DayOfWeek
            .DaysOfMonth = DayOfMonth
        End With
     
        NetScheduleJobAdd PCName, myInfo, JobID
     
        vbScheduleJob = JobID
    End Function


    bonne soirée
    michel

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    Bonjour,

    Merci pour le code.
    Je vais voir ce que ca donne, et, si je m'en sort, je met le post comme résolu.

    Merci encore,
    A plus tard

    Stéphane

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2007
    Messages : 49
    Par défaut
    Bonjour,

    Merci beaucoup SilkyRoad !
    Je ne connaissais pas le système at et c'était exactement ce dont j'avais besoin.

    Merci encore

    simstef

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

Discussions similaires

  1. [XL-2013] Est ce possible de programmer cette tâche en VBA Excel
    Par lethios dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/04/2015, 19h01
  2. Insertion d'une image dans le corps d'un mail via VBA Excel
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2013, 18h55
  3. Mettre en gras une partie d'un mail généré via vba excel
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/01/2013, 16h08
  4. [AC-2003] Tâche planifiée : lancer une procédure via VBA
    Par patbeautifulday dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/07/2009, 01h12
  5. Création d'une tâche outlook depuis Excel en vba
    Par allimannp dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 21/01/2009, 15h04

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