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 :

arreter un traitement sur pression d'une touche


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 86
    Points
    86
    Par défaut arreter un traitement sur pression d'une touche
    Bonjour
    Voila j'ai un programme qui importe des fichiers excel dans une base de donées access.
    En fait j'aimerai que durant le traitement si l'utilisateur appuye sur la touche echap le traitement s'arrete.
    Je sais comment faire mais je n'est sans doute pas la bonne syntaxe en vba.
    voici un bout de code, faite le moi savoir si vous en voulez un peu plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Select Case reponse 'suivant la reponse
     Case vbYes 'si oui
     MsgBox ("appuyer sur echap pour arreter la tache")
        While KeyPress <> 27
    Voila merci
    Amicalement Scons

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour,

    Pas testé.

    Dans la section déclaration du module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
    Dans la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (GetAsyncKeyState(27) <> 0) Then 'Appui sur la touche Escape
    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 86
    Points
    86
    Par défaut
    Desolé mais je ne comprend pas ou tu dois placer la declaration de la function
    Amicalement Scons

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Re,

    Dans l'entête du module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Compare Database
    Option Explicit
     
    Public Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
     
    Private Sub TaSub()
     
    'Début de ta boucle
     
    If (GetAsyncKeyState(27) <> 0) Then Exit Sub 'Appui sur la touche Escape
     
    'Traitement dans la boucle
    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 86
    Points
    86
    Par défaut
    Merci pour ton aide, c'est bon j'ai pu placer le code au bon endroit et il semble bien s'executer.
    Cependant je n'arrive pas a faire ce que je veu; je m'explique.
    en fait mon programme ouvre un par tous le fichiers excel d'un repertoire afin d'en importer le contenu dans ma bas a acces.
    L'import se faire par l'intermediaire d'une macro contenu dans un des fichiers excel du repertoires.


    Pour arreter le traitement en cours faut t'il placer ton code dans la macro ou dans mon prog access?
    Et puis inclure "GetAsyncKeyState(27)" dans un boucle et de ce fait sortir du prog en cas de pression de echap?

    voila je sais pas si j'ai ete tras claire, n'hesite pas a me demander des precision si jam.
    merci
    Amicalement Scons

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonjour,

    Je "voyais" plutôt une procédure exécutant l'import des fichiers totalement dans Access.

    Si depuis Access, tu ne fais qu'appeler une macro Excel, c'est à mon celle-ci que tu dois interrompre.

    Il me semble me souvenir qu'il y'a des instructions spécifiques pour interrompre une macro Excel. Mais c'est plutôt sur le forum dédié qu'il faudrait poser la question.

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 86
    Points
    86
    Par défaut
    ok je te remercie pour ta patience et pour ton aide.
    je vais aller faire un tour sur les forums excel voir si je trouve mon bonheur.
    Amicalement Scons

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 86
    Points
    86
    Par défaut
    voici le lien vers le nouveaux post vba excel.

    http://www.developpez.net/forums/sho...d.php?t=587648
    Amicalement Scons

Discussions similaires

  1. [Lazarus] Gestion de la pression d'une touche sur un composant
    Par darrylsite dans le forum Lazarus
    Réponses: 4
    Dernier message: 26/09/2009, 15h43
  2. Réponses: 3
    Dernier message: 03/06/2006, 16h59
  3. GObject et action à la pression d'une touche
    Par MrArtichaut dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 25/04/2006, 11h31
  4. [Forms 9] Detection de la pression d'une touche
    Par kervoaz dans le forum Forms
    Réponses: 3
    Dernier message: 24/04/2006, 10h02
  5. Simuler la pression d'une touche
    Par P4dre dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 09/08/2005, 16h31

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