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

IHM Discussion :

attendre la fin d'un programme pour lancer une msgbox


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut attendre la fin d'un programme pour lancer une msgbox
    bonjour,

    J'ai un evenement clic qui lance une petit programme ".bat" dans access (ce programme lance met à jour une table) cela ouvre une fenetre puis manuellement on ferme la fenetre des que le programme a terminé et une msgbox doit apparaitre ...

    Comment en VBA puis-je dire d'attendre la fin du deroulement du ".bat" ou de la fermeture de la fenetre de ce programme qui fera apparaitre ma msgbox ?

    Merci

  2. #2
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Personne n'a une solution à proposer avp ?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Tu peux essayer d'utiliser une variable globale que tu initialises, ensuite tu modifie cette variable dans ton programme .bat.

    Ainsi après fermeture de la fenetre, tu teste la valeur de ta variable pour afficher ou non le message que tu veux.
    Amicalement

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    J'avoue etre perdu. Je ne peux pas modifier le .bat comme vous me l'indiquer.
    Concernant le code, il est un peu complexe.
    Ou dois-je copier ce code ? notamment la fonction :Private Sub LancerProg(PathFilename As String) Dans le code de mon bouton d'action ? Car ca ne marche pas j'ai une message d'erreur car j'ai une sub+end sub dans la sub de mon bouton et le systeme n'accepte pas.
    Dois-je changer "PathFilename" par le chemin d'accés de mon programme ?
    si oui j'ai essayé et comme il est sur c:\travail\ la ponctuation ":" et "\" posent probleme dans le code.

    Je ne sais pas ou je suis parti mais c'est complexe voici le code de mon bouton (un peu farfelu je l'avoue):

    Private Sub bt_majspics_Click()

    dateMAJ = Me![TxtDateMax] 'prend la date max du champs du formulaire en cours nommé TxtDateMax
    DateDuJour = Date - 1 'permet la comparaison avec la date max du fichier
    Num_Jour = Weekday(Date) 'donne le chiffre representant le jour en court
    ind = True
    DoCmd.RunMacro ("M_exeFTP") 'macro qui execute le programme en .bat

    If Num_Jour = 2 And dateMAJ < Date - 3 Then '1-test permettant la comparaison si le jour actuel est lundi avec la date max du fichier
    DateDuJour = Date - 4
    'MsgBox DateDuJour
    If DateDuJour = dateMAJ And ind = True Then '2-test
    Rep = MsgBox("La dernière mise à jour du fichier date du " & dateMAJ & ". Souhaitez-vous mettre à jour la table SPICS à la date d'hier ?", vbOKCancel, "MISE A JOUR")
    If Rep = vbOK Then '-3 test
    DoCmd.RunMacro ("MAJdateMax")
    Else 'utilisateur annule sa reponse
    MsgBox "L action a été annulée", 64, "MISE A JOUR"
    End If 'fin-3
    End If 'fin -2
    ElseIf DateDuJour > dateMAJ Then 'a-test permettant de lancer la macro de MAJ du fichier fstockev (spics)
    Rep = MsgBox("La dernière mise à jour du fichier date du " & dateMAJ & ". Souhaitez-vous mettre à jour la table SPICS à la date d'hier ?", vbOKCancel, "MISE A JOUR")
    If Rep = vbOK And DateDuJour >= dateMAJ Then 'b-test sur l'action du bouton OK-annuler
    DoCmd.RunMacro ("MAJdateMax")
    End If 'fin b-
    Else 'la date max. de la table DateMAJfichierSPICS = date du jour
    MsgBox "Action impossible: Une mise à jour a déjà eu lieu aujourd'hui", 16, "DB PRICING ERROR"

    End If 'fin a&1

    End Sub

    J'espére que vous pourrez m'aider.

Discussions similaires

  1. Programme pour lancer un fichier
    Par andrianiaina dans le forum Windows XP
    Réponses: 6
    Dernier message: 12/03/2008, 14h20
  2. Comment attendre que tous les thread lancés soient morts pour lancer une action.
    Par rgesnot dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 31/03/2007, 20h27
  3. Attendre la fin d'un programme..
    Par Flow_75 dans le forum C++
    Réponses: 3
    Dernier message: 09/12/2006, 12h17
  4. [VB.net] Comment attendre la fin d'un programme ?
    Par nakata77 dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/09/2006, 17h16
  5. AS - Attendre la fin d'un onLoad pour faire un return
    Par ChrOnOs83 dans le forum Flash
    Réponses: 9
    Dernier message: 31/08/2006, 17h09

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