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 :

Lancer Requêtes toutes les x mins mais.


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut Lancer Requêtes toutes les x mins mais.
    Bonjour à tous,

    Mon but est de récupérer toutes les x minutes des données mais il y a un MAIS...

    Avec une autre requête je récupère des liens stockés dans un tablo ainsi que les heures de fin, chaque liens renvoient une page avec des données qui fluctuent jusqu'à une heure donnée de fin de fluctuation (ex: lien n°1: fin à 13h50;lien n°2: 14h20;lien n°3: 14h50;lien n°4: 15h20).

    pour info, il y a 30 mins d'écart entre chaque fin (ex: 13h50;14h20;14h50;15h20 --> 30 mins).

    EXEMPLES:
    Lien N°1-----Heure de fin------à 12h45
    On commence la journée à (heure de fin - 3h15)
    on récupère une 1ère fois à 9h30
    puis à 10h30
    puis à 11h00
    puis à 11h30
    puis à 12h00
    puis à 12h30
    puis 1/4h avant fin, on récupère toutes les mins jusqu'à 12h43 (midi quarante-trois)(heure de fin - 2min)

    Lien N°2-----Heure de fin------à 13h15
    Idem, mais on commence à (heure de fin - 3h15) donc 10h00
    Et non pas 9h30 comme le lien n°1

    Lien N°2-----Heure de fin------à 13h45
    Idem, mais on commence à (heure de fin - 3h15) donc 10h30
    Et non pas 9h30 comme le lien n°1 ou 10h00 pour le lien n°2

    Et cela pour tous les liens

    Bien évidemment j'ai commencé à esquisser un code, mais je ne vois pas bien le suite pour chaque lien à des heures de début et fin différentes....

    Pour info:
    Une début de journée ne commencera jamais avant 9h30
    Donc piège ici
    si heure de fin à 11h30, on ne pourra pas récupérer à (heure de fin - 3h15) mais seulement à partir de 9h30....

    Voyez vous mon problème??
    dans module:
    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
    Sub Tempo()
        Heurfin = "13H50"
     
        'Programmation de l'évènement
        Tps = Now - TimeValue("00:10:00")
        Application.OnTime Tps, "Tempo"
     
        'appel sub Course
        Call Cour
     
        'Traitement
        Sheets(2).Range("C1").Value = Format(Now, "hh:nn:ss")
    End Sub
     
    Sub StopTempo()
        On Error Resume Next
        'Stopper la gestion de l'évènement OnTime en cours
        Application.OnTime Tps, "Tempo", , False
    End Sub
    Sub Cour()
        Dcol = ThisWorkbook.Worksheets("R2").Cells(2, Columns.Count).End(xlToLeft).Column
        Set Lacell = ThisWorkbook.Worksheets("R2").Cells(2, Dcol)
        Lacell.Select
        'Appel sub
        recupCot
    End Sub
     
    Sub Rafraichissement()
    ' Définit l'intervalle avec l'heure actuelle + trente minutes
    DansTrenteMinutes = TimeSerial(Hour(Time), Minute(Time) + 30, Second(Time))
     
        If DansTrenteMinutes < heurfin Then
            ' Appel récursif de la fonction Rafraichissement
            Application.OnTime DansTrenteMinutes, "Rafraichissement"
     
            Call Cour
     
        Else
            If DansTrenteMinutes > heurfin Then
     
            Application.OnTime Date + 1 + DansTrenteMinutes, "Rafraichissement"
            ' Appel de la fonction cour
             Call Cour
            End If
        End If
     
    End Sub
    Dans thisworkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
     
        'Activation de l'heure
        Tempo
        'Lance la sub tous les jours à 9h30
        Application.OnTime TimeValue("09:30:00"), "Rafraichissement"
     
        'Lance la Sub en fonction de l'heure voulu
        Application.OnTime (Range(".....")), "Rafraichissement"
    End Sub
    Ces codes ont été repris dans le forum, et me paraissent intéressant pour mon utilisation
    Merci de votre aide
    Seb

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    tache planifiées Windows je vois que ca sinon ca implique que le classeur lanceur reste ouvert toute la période 9.30 a 15.45 c'est inconcevable tu le comprends bien
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    pour le fun, si en plus tu y trouves ton compte, on sera content tous les deux :

    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
    Sub toto()
    Const Heure As Date = 1 / 24
    Const DemieHeure As Date = 1 / 48
    Const QuartHeure As Date = 1 / 96
    Const Minute As Date = 1 / 1440
     
    Dim HeureDebut As Date, HeureFin As Date, HeureMini As Date, HeureAction As Date
     
    '>> ici la date de fin à boucler <<
    HeureFin = 13 * Heure + DemieHeure + QuartHeure
     
     
    HeureMini = 9 * Heure + DemieHeure
    HeureDebut = HeureFin - (3 * Heure + QuartHeure)
     
    If HeureDebut < HeureMini Then HeureDebut = HeureMini
    Debug.Print ">> Debut extraction à : " & Format(HeureDebut, "hh:mm")
    Debug.Print ">> Fin extraction à : " & Format(HeureFin, "hh:mm")
     
     
    For HeureAction = HeureDebut To HeureFin - QuartHeure Step DemieHeure
        Debug.Print "Lancement 30 min à : " & Format(HeureAction, "hh:mm")
    Next HeureAction
     
    Debug.Print "Bascule en extraction minute à : " & Format(HeureAction - DemieHeure, "hh:mm")
     
    For HeureAction = HeureFin - QuartHeure To HeureFin - 2 * Minute Step Minute
        Debug.Print "Lancement minute à " & Format(HeureAction, "hh:mm")
    Next HeureAction
     
    Debug.Print "Arrêt extraction à : " & Format(HeureAction - Minute, "hh:mm")
    End Sub

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    hoh!!!!! joe
    ne lui montre pas ca il va le faire
    la j'ai honte pour toi hahaha

    allez au pire un vbs avec des SLEEP!!!!!!!
    y va fuméééééé son proc
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Le but c'était surtout de montrer que travailler sur des heures et des minutes, c'est aussi simple que de manipuler des chiffres

    Y compris pour gérer des contraintes granulaires sur différents intervalles.

  6. #6
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Salut à vous deux,
    tache planifiées Windows je vois que ca
    Je l'ai déjà envisagé, mais bon
    sinon ca implique que le classeur lanceur reste ouvert toute la période 9.30 a 15.45 c'est inconcevable tu le comprends bien
    Mon classeur est sur serveur donc il peux rester ouvert constamment, sans problème

    hoh!!!!! joe
    ne lui montre pas ca il va le faire
    la j'ai honte pour toi hahaha
    C'est une usine à gaz ton truc JOE, visiblement aux yeux de Patrick, et je tiens à mon proc...

    Joe, je t'avouerai ne pas avoir très bien saisi ton code...
    pour gérer des contraintes granulaires sur différents intervalles.
    ok et avec ça, je prend quoi

    Serait-ce si compliqué que ça....si oui, je vais envisager autre chose....mais quoi..

    Seb

    Joe,

    Après essai, c pas mal ton truc, évidemment valable pour un lien....mais s'il faut que je lance ça pour chaque lien...je crains ce que dit Patrick, la surchauffe....Non?
    seb

  7. #7
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    En fait, le principe de base c'était te montrer comment tu peux gérer intuitivement :

    - l'heure de début en fonction de l'heure de fin, avec bridage 9h30
    - tes lancements 30 minutes et la bascule en lancement minute



    Maintenant, t'as beaucoup de liens ? Tu n'as donné aucune donnée quantitative.
    Et à quoi ressemble ta procédure qui fait la requête ?

    Vos abeilles elles peuvent pas gérer le multirequête de ton problème ? Excel calculerait (avant 9h30 of course !) et renverrait un tableau contenant :

    - dimension 1 : le liens de la requête
    - dimension 2 : l'heure de lancement

    bien sûr, le tableau est trié, pour avoir les requêtes dans l'ordre croissant des heures (minutes) de lancement

    vu que j'ai pas vraiment suivi vos pérégrinations avec ces histoires d'abeilles, je dis peut être une connerie. Mais j'avais cru comprendre que c'était pour faire du multitâche.

    Chaque requête serait stockée dans un tableau de résultat ... et à 14h30 (fin de la collecte) le tableau est injecté dans un classeur excel ?

  8. #8
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Re joe,

    Maintenant, t'as beaucoup de liens ?
    J'en ai environ 6 à 10 par jour, pour la 1ère catégorie, en sachant qu'il peut y en avoir 4 catégories....Mais je me cantonne qu'à la 1ère...pour l'instant
    Et à quoi ressemble ta procédure qui fait la requête ?
    La voici, C Patrick qui sera content de voir que j'utilise ces codes....je sais déjà à l'avance ce qu'il va me dire... "tu pourrais le simplifié ton code"
    Essai ce code et regarde dans le tablo,
    ce que tu exposes dans le post précédent équivaux à peu-près à mon tableau sans les heures...

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour, bonjour !

    Aucun essaim d'abeilles dans ce code !

    Revoir ma contribution ou ta précédente discussion s'il est vraiment question de mes p'tites abeilles …


    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #10
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Bonjour Marc,

    Merci pour ton intervention et correction..

    J'ai corrigé Monsieur

    Bon voici le code avec les heures dans un tablo à 3 dimensions

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bon je vais être plus clair

    tu ne peut pas laisser tourner un fichier excel de 9.30 a 15.45 c'est pas sérieux

    oriente toi plutôt vers les taches planifié
    même si tu arrive a concevoir un code qui fasse ce que tu veux tu imagine un classeur ouvert pendant plus de 6 heures avec des boucles d'attente ou meme des ontime ... then
    non mais franchement
    y a pas un pelé qui peut lui expliquer je suis a cour d'argument la

    a non!! vraiment

    je constate que tu a repris mes code zeturf ca fait plaisir mais la sur ce projet non tu prends la mauvaise voie

    tu peut néanmoins te servir de l'idée de Joe pour programmer tes taches Windows par l'intermédiaire de shell sur un cmd écrit dynamiquement par vba
    a méditer
    non mais il a pété un câble celui la

    yhum!... ca sent le white screen out of memory a plein nez la j'rigole : heu.... non je rigole pas
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    re,
    Je te reconnais bien là...

    Bon ok je laisse tombé ce type de chose, je vais me fixer plutôt sur des récup à h-15min seulement avant le départ....ça devrait être bon...non...

    Seb

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    purré t'a rien compris

    c'est pas le nombre de requettes qui sont en cause la !!!!!!!!!!!!!!!

    ce sont les boucle d'attente que tu va etre objigé d'instaurer dans ton code

    en gros je vais etre plus clair

    IL EST INCONCEVABLE DEONTOLIQUEMENT PARLANT DE FAIRE UNE TEL CHOSE AVEC UNE MACRO EXCEL

    TA FUMeeeeeeeeeé LA MOQUETTE OU QUOI!!!!!!!!!!!!!!!


    procédé

    1 recup des lien ( ca mes macro le font tres bien)
    2 recupe des heure s dans les pages de lien
    3 comparaison des depart
    4 classement des course(titre,lieu,heuredepart,etc)par leur heures de depart ou d'arrivé estimées je te laisse choisir
    5 macro ecrit une abeille vbs ( ici dans le vbs on change un peu le principe le getobject sur excel sera un create application) le vbs ouvria le classeur récepteur et y mettra les données
    6 macro qui ecrit le CMD(qui créé la tache
    7 lancement de la macro creatrice de tache
    7 fermeture du classeur
    8 boit une bierre t'a bien bossé
    9 laisse Windows faire le reste

    10 et plus de temps en temps entre deux gorgée de houblon tu peut te permettre de regarder le classeur récepteur en mode read only bien sur pour ne pas perturber une abeille travaillant dessus le cas échéant

    non des fois j'te jure
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    re,
    Évidemment que même h-15min, ou h-10 ou h-5 etc...ne changera rien...mais je voulis juste avoir ta réaction....
    TA FUMeeeeeeeeeé LA MOQUETTE OU QUOI!!!!!!!!!!!!!!!
    Non pas encore...les enfants sont là.......mais après çà j'ai encore des choses bien plus exponentiel que ce que je propose

    1 recup des lien ( ca mes macro le font tres bien)
    2 recupe des heure s dans les pages de lien
    3 comparaison des depart
    4 classement des course(titre,lieu,heuredepart,etc)par leur heures de depart ou d'arrivé estimées je te laisse choisir
    5 macro ecrit une abeille vbs ( ici dans le vbs on change un peu le principe le getobject sur excel sera un create application) le vbs ouvria le classeur récepteur et y mettra les données
    6 macro qui ecrit le CMD(qui créé la tache
    7 lancement de la macro creatrice de tache
    7 fermeture du classeur
    8 boit une bierre t'a bien bossé
    9 laisse Windows faire le reste

    10 et plus de temps en temps entre deux gorgée de houblon tu peut te permettre de regarder le classeur récepteur en mode read only
    Et bah voilà un beau cahier des charges

    Donc je vais me pencher là-dessus
    1 recup des lien ( ca mes macro le font tres bien)
    çà c bon
    2 recupe des heure s dans les pages de lien
    idem dans tablo
    3 comparaison des depart
    4 classement des course(titre,lieu,heuredepart,etc)par leur heures de depart ou d'arrivé estimées je te laisse choisir
    Déjà dans le tablo
    5 macro ecrit une abeille vbs ( ici dans le vbs on change un peu le principe le getobject sur excel sera un create application) le vbs ouvria le classeur récepteur et y mettra les données
    6 macro qui ecrit le CMD(qui créé la tache
    7 lancement de la macro creatrice de tache
    A étudier
    7 fermeture du classeur
    çà doit pas être bien compliqué
    8 boit une bierre t'a bien bossé
    çà c ce que je fais de mieux
    9 laisse Windows faire le reste
    10 et plus de temps en temps entre deux gorgée de houblon tu peut te permettre de regarder le classeur récepteur en mode read only
    Quand j'en serai arrivé là, eh bien.....

    Bon bah je vois ce que j'ai à faire

    Sinon quels langages me proposerai-tu pour faire ce genre de moulinette.
    seb

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    1 cré la fonction vba qui cré le fichier vbs qui fait la requete (abeille) catu sais faire maintenant on te la montrer plusieurs fois je crois
    si tu a des trous regarde dans la contrib de marc ou nos précédente discutions y compris celle d'hexa pour ses multiples requetés c'est le dernier exemple que j'ai donner sur DVP

    dans l'abeille tu injectera les lien et données que tu veux récupérer
    dans cette abeille d'habitude on se sert de getobject pour capter le classeur avec son nom la comme il est hors de question de laisser le classeur ouvert inutilement se sera createobject (excel.application") et pareil que le getobject pour le reste

    2 cherche comment on programme une tache indows en bath fichier CMD( en ligne de commande ) dans un blocknote
    3 entraine toi les heure sont a noter en long c'est facile en vba une date c'est Clng(date)

    ensuite quand tu aura bien compris comment on créé le ficher Cmdqui enreistrera la tache dans le planificateur : tu le créera par vba comme tu le fait pour les abeilles
    et tu crera autant de tache que tu veux meme toutes les 10 secondes si tu veux LOL


    en premier lieu

    crée moi un exemple
    un truc facile
    fait moi un code vba qui va créer l'abeille
    cette abeille doit juste me dire "salut"

    j'attends t'a une demie heure
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    la demi-heure est déjà passé et toujours rien...c chaud, je ne connais pas le vbs....
    je suis entrain de lire la contrib de Marc à ce sujet....
    et d'ailleurs en passant nous sommes en 2016 et tu avais promis un code
    13/12/2014, 18h32 #24
    salut tout les deux
    ouais !!!!..... ca rentre a noël 2016 on sera bon

    nan je rigole, Marc je te réserve une surprise qui va te scotcher, valable pour itwoo aussi
    patience je lâche la bombe le 25 juste pour le symbole

    et kiki qui va tout faire Peter encore !!???c'est le toulonnais !!!!
    J'ai également regardé le fichier final joint à la discussion avec Hexa...Décryptage hardu....

    Et je cherche en parallèle
    programme une tache windows en bath fichier CMD( en ligne de commande ) dans un blocnote
    du genre dans mon .bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Users\Seb\ Desktop\Classeur1.xlsm"
    J'ai trouvé ce tuto qui m'a l'air intéressant à étudier http://jpcheck.developpez.com/tutori...ge-parametres/

    Je suis pas fier là sur ce que tu me demandes

    seb

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    puré
    bon ouvre un fichier vierge et met ca dans un module
    et surtout sauve le avant de l'essayer sinon ca ne marchera pas j'utilise le thisworkbook.path pour le chemin alors si il n'est pas enregistrer quelque part
    ou tu veux sur le bureau pour l'exemple
    lance la sub "test_abeille_planifiée"
    li le message
    clique ok le classeur va se fermer et attend le temps que le message t'a dis tu verra la surprise
    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 test_abeille_planifiée()
        Dim fichierT As String, fichierAB As String, tache As String, abeille As String, x, heureplanifiée, dateTache As String, H As String, Mn As String, Sec As String
        H = Format(Time, "hh")
        Mn = Format(Time, "nn")
        Sec = Format(Time, "ss")
        heureplanifiée = H & ":" & Val(Mn) + 3 & ":" & Sec
         dateTache = Format(Date, "dd") & "/" & Format(Date, "mm") & "/" & Format(Date, "yyyy")
         'on créé le code du cmd qui va enregistrer la tache dans windows
        tache = "schtasks /create /sc once /ST " & heureplanifiée & " /sd " & dateTache & " /TR """ & ThisWorkbook.Path & "\abeille1.vbs"" /TN testetache2"
        'on créé le code de l'abeille.vbs
        abeille = " msgbox ""Bonjour Seb  je suis l'abeille numero1"" & vbcrlf & "" on m'a demandé de venir te voir il y a 3 minutes"""
        'on determine les chemins
        fichierT = ThisWorkbook.Path & "\tache1.cmd"
        fichierAB = ThisWorkbook.Path & "\abeille1.vbs"
        'on ecrrit les fichier
        '1° le cmd pour latache
        x = FreeFile
        Open fichierT For Output As #x
        Print #x, tache
        Close #x
        '2° le cmd pour latache
        x = FreeFile
        Open fichierAB For Output As #x
        Print #x, abeille
        Close #x
        SC = """" & fichierT & """ "
        Set oWs = CreateObject("WScript.Shell")
        oWs.Run SC
        Set oWs = Nothing
     
        MsgBox "dans exactement 3 minutes la petite abeille viendra te dire bonjour " & _
               vbCrLf & "ce classeur n'a pas besoins de rester ouvert" & vbCrLf & "tu sais nos petites abeilles ont grandis depuis le temps " _
             & vbCrLf & "elles savent se débrouiller toutes seules "
    Application.DisplayAlerts = False
    Application.Quit
    End Sub
    c'est comme ca a l'arrache il faudra pofiner tes paramètres et concevoir le code vbs de la requête c'est quasi identique a vba

    des fois j'te jure

    edit j'ai corrigé le chemin en dur dans tache oupsssss!!!!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Salut Patrick,

    Bon je vais regarder ça de plus prêt, c peut-être simple pour toi, mais nouveau pour moi le vbs, tache etc...
    ca n'a pas l'air très difficile, et franchement intéressant....

    mais je ne vois pas bien à quoi correspond les "abeilles"....bref

    Seb

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    bonjour seb

    bon alors je vais répéter doucement et lentement

    les abeilles sont des fichiers VBS qui execute du code vbs tres similaire au vba puisque tout deux hérité du VB

    pourquoi les abeilles
    parce que je le répète il est ors de question de laisser tourner un xls(fichier Excel) pendant des heures avec des boucle d'attente c'est inconcevable

    donc on programme une tache Windows qui va déclencher le vbs a heure programmée
    ce vbs comme les abeille que tu connais vont faire la requête patin couffin et ouvrir le fichier excel injecter le résultat dans le sheet
    la requête terminé le vbs est fermer le fichier Excel est fermé
    rien ne tourne tant que c'est pas l'heure
    c'est pas compliqué
    la ligne de commande de programmation de tache est toute faite tu n'a cas changer l'heure la date
    pour le code de la requête tu devrais plus avoir de soucis maintenant
    dis moi exactement ce que tu veux récupérer le cas échéant donne moi le tableau que tu créé pour que je puisse comprendre ce que tu veux faire
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Membre éclairé
    Homme Profil pro
    Constructeur ossature bois
    Inscrit en
    Mars 2014
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Constructeur ossature bois
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2014
    Messages : 897
    Points : 650
    Points
    650
    Par défaut
    Merci pour l'explication, c plus clair...
    la ligne de commande de programmation de tache est toute faite tu n'a cas changer l'heure la date
    Ok j'ai vu, mais pour le heure ce sont les heure de départ course, et la date c tous les jours...
    pour le code de la requête tu devrais plus avoir de soucis maintenant
    Ca c bon, il est déjà construit, en faite je recup les réunions puis les courses pour enfin récupérer pour chaque partants sa cote...tous dans 2 tablo
    1er: les lien réunion, les lien course, et les heures de départ
    2ème: les cotes
    c ca que je veux automatisé (explication dans le 1er post)..

    sur la photo voila l'idée, je lançais cette recup en manuelle, mais ici que pour une course, s'il 8 courses il y aura 8 tableaux de ce genre...car par le suite selon les cotes à h-3min, il y aura un classement des partants en fonction de critères bien définis...
    Nom : Capture.PNG
Affichages : 440
Taille : 25,1 Ko
    Voili voilou

    Seb

Discussions similaires

  1. [AC-2010] exécution automatique de requêtes toutes les 30 min
    Par Pdg6704 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/06/2015, 13h00
  2. lancer fonction toutes les 10us
    Par DayKay dans le forum C
    Réponses: 1
    Dernier message: 10/01/2008, 15h06
  3. exécuter des requêtes tout les X jours
    Par Hypnocrate dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/10/2007, 11h37
  4. Réponses: 1
    Dernier message: 16/05/2007, 15h52
  5. Group By tout les 10 min
    Par clancy182 dans le forum Requêtes
    Réponses: 10
    Dernier message: 29/01/2006, 23h30

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