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

VBA Access Discussion :

Problème d'exécution Code VBA [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Par défaut Problème d'exécution Code VBA
    Bonjour à Tous,

    je viens de créer une base de données Access qui va chercher des information dans SAP ( à partir d'un code VBA ) , enregistre un fichier sur un serveur puis exécute une série de macros et envoi un mail ceci est chaque un interval de temps.

    Tout fonctionne parfaitement 4 fois de suite, mais sans aucun message d'erreur il y a un loupé.

    j'ai cru comprendre que c'est à cause de la mise en veille du PC, mais il s'est avéré que c'est aléatoire.

    Pourriez vous m'aider à résoudre ce problème définitivement et que le code s’exécute à l'heure souhaitée.

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Citation Envoyé par Pittouti
    Pourriez vous m'aider à résoudre ce problème définitivement et que le code s’exécute à l'heure souhaitée.
    Quel problème ?

    Ce n'est pas avec si peu d'explications que l'on va pouvoir vous aider...

    Contexte, code exemple, mode de mise en place, mode d'exécution et j'en passe sont un minimum d'informations à fournir

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  3. #3
    Membre éclairé Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Par défaut
    ci-joint une explication et ci-dessous les deux Codes :

    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
    Private Sub Form_Timer()
    Me.H1= TIME 'Heure système
    If H1.Value = A.Value Then
    Set session = GetObject("SAPGUI").GetScriptingEngine.Children(0).Children(0)
    session.findById("wnd[0]/tbar[0]/okcd").Text = "/nzz30"
    session.findById("wnd[0]").sendVKey 0
    session.findById("wnd[0]/tbar[1]/btn[17]").press
    session.findById("wnd[1]/usr/txtENAME-LOW").Text = "XXXXX"
    session.findById("wnd[1]/usr/txtENAME-LOW").SetFocus
    session.findById("wnd[1]/usr/txtENAME-LOW").caretPosition = 8
    session.findById("wnd[1]").sendVKey 0
    session.findById("wnd[1]/tbar[0]/btn[8]").press
    session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").setCurrentCell 1, "TEXT"
    session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").selectedRows = "1"
    session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").doubleClickCurrentCell
    session.findById("wnd[0]/usr/ctxtLISDD-LOW").Text = DD.Value
    session.findById("wnd[0]/usr/ctxtLISDD-HIGH").Text = DF.Value
    session.findById("wnd[0]/usr/ctxtLISDD-HIGH").SetFocus
    session.findById("wnd[0]/usr/ctxtLISDD-HIGH").caretPosition = 10
    session.findById("wnd[0]").sendVKey 0
    session.findById("wnd[0]/tbar[1]/btn[8]").press
    session.findById("wnd[0]/mbar/menu[0]/menu[5]/menu[2]/menu[2]").select
    session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").select
    session.findById("wnd[1]/usr/sub:SAPLSPO5:0101/radSPOPLI-SELFLAG[1,0]").SetFocus
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    session.findById("wnd[1]/usr/ctxtRLGRAP-FILENAME").Text = "\chemin...\ZIPPAGE.txt" ' j'ai le chemin complet pas de soucis la dessus
    session.findById("wnd[1]/usr/ctxtRLGRAP-FILENAME").caretPosition = 71
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    session.findById("wnd[1]/tbar[0]/btn[0]").press
    DoCmd.RunMacro ("Introductionenmasse")
    DoCmd.OutputTo acOutputReport, "Analyse", "PDF", "\chemin...\Etat de zippage.pdf" ' j'ai le chemin complet pas de soucis la dessus
    DoCmd.RunMacro ("Heure")
    On Error Resume Next
    'Get Outlook if it's running
    Set oApp = GetObject(, "Outlook.Application")
    If err <> 0 Then
         'Outlook wasn't running, start it from code
         Set oApp = CreateObject("Outlook.Application")
        Started = True
    End If
    Set oItem = oApp.CreateItem(olMailItem)
     With oItem
        .To = "xxxxxx@gmail.com"
        .Subject = "Extraction Faite avec Succès"
        .Send
        End With
        Refresh
    End If
    End Sub
    Deuxième Code :

    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
    Private Sub Form_Timer()
    Me.PEXS = TIME
    Refresh
    If PEXS.Value = PREX.Value Then
    On Error Resume Next
    'Get Outlook if it's running
    Set oApp = GetObject(, "Outlook.Application")
    If err <> 0 Then
         'Outlook wasn't running, start it from code
         Set oApp = CreateObject("Outlook.Application")
        Started = True
    End If
    Set oItem = oApp.CreateItem(olMailItem)
     With oItem
        .To = "xxxxxx@gmail.com"
        .Subject = "XXXXXXX"
        .Body = "Bonjour," 
        .Attachments.Add "chemin...\Etat de zippage.pdf" ' j'ai le chemin complet pas de soucis la dessus
        'Send the email
        .Send
    End With
    B.Value = B.Value + 1 / 24
    DoCmd.RunMacro ("Heureenvoi")
    Refresh
    End If
    End Su
    b
    Images attachées Images attachées

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par défaut
    Si tu veux lancer un process toutes les 5 minutes, inutile de stocker et jouer l'heure.
    A mon avis, il y a mauvaise interprétaion de la valeur mais là, je peux pas vérifier.

    Ta propriété TimerInterval qui permet de spécifier l'intervalle en millisecondes du Timer de ton formulaire doit être fixé à 300000.
    Là, tu peut effectivement faire en sorte que l'affichage de la prochain heure s'adapte en conséquence et affiche la bonne valeur puisque tu sais que ça tourne toutes les 5 minutes.

    A tester...

    P.S., je soupçonne que ton On Error Resume Next y est pour quelque chose...
    Cela explique le silence que tu exposes.
    A utiliser avec prudence et maîtrise surtout.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0

  5. #5
    Membre éclairé Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Par défaut
    Bonjour argyronet

    ça marche !!!!!

    en fait c'est une usine à gaz ce que j'ai fait, il fallait penser plus simple.

    Merci encore une fois

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

Discussions similaires

  1. Problème avec un code VBA
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/08/2008, 13h57
  2. Problème avec un code Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/10/2007, 16h43
  3. Problème d'un Code VBA pour créer un répertoire
    Par cfidko dans le forum VBA Access
    Réponses: 24
    Dernier message: 26/06/2007, 14h30
  4. Problème SQL dans code VBA
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 15/05/2007, 13h22
  5. [Système] problème d'exécution code php
    Par QuenTinO dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2007, 11h50

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