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 :

masquer fenetre VBE pendant l'écriture de code


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 97
    Par défaut masquer fenetre VBE pendant l'écriture de code
    Bonjour,

    Je suis amené à créer à la volée un formulaire avec des contrôles inclus sur lesquels je dois inscrire des évenements. Pour info, voic l'extrait de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", posX, posY, lng, hauteurBoite)
            With ctlText
                .LeftMargin = 30: .TopMargin = 30: .RightMargin = 30: .BottomMargin = 30
                 .Name = "S" & sta("sta_stamp") & sta("sta_rang")
                 .ControlSource = "=" & Chr(34) & sta("sta_titre") & vbCrLf & sta("sta_clt") & vbCrLf & "(" & sta("sta_effectif") & " pers.) " & rang & Chr(34) & ""
                  ' -- création de l'event
                  Set mdl = frm.Module
                  lngreturn = mdl.CreateEventProc("DblClick", ctlText.Name)
                   mdl.InsertLines lngreturn + 1, vbTab & "stage_edit " & Chr(34) & sta("sta_stamp") & Chr(34)
            End With
    Mon problème n'est que visuel : malgré l'utilisation du "application.echo=false", interdisant le rafraissement écran, la fenêtre VBE s'affiche pendant l'écriture du code avant de revenir à mon formulaire : qqu'un a-t-il une solution ?

    Laurent

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    bonjour,
    peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    application.Screenupdate false 
    'code
    application.Screenupdate true
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 97
    Par défaut
    malheureusement, application.Screenupdate c'est la commande pour VBA Excel.

    En fait, j'ai trouvé deux techniques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    application.echo False
    docmd.echo False
    Elles figent bien l'écran pendant le tracé du formulaire mais pas l'écriture dans les modules VB...

    J'ai tenté de convertir mon appli en fichier MDE mais la création de formulaire semble interdite alors ! (à moins d'un solution de contournement que je ne connais pas...)

    Merci tout de même

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 97
    Par défaut
    J'ai trouvé ça sur : http://www.cpearson.com/excel/vbe.aspx

    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
        Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
            (ByVal ClassName As String, ByVal WindowName As String) As Long
     
        Private Declare Function LockWindowUpdate Lib "user32" _
            (ByVal hWndLock As Long) As Long
     
     
        Sub EliminateScreenFlicker()
            Dim VBEHwnd As Long
     
            On Error GoTo ErrH:
     
            Application.VBE.MainWindow.Visible = False
     
            VBEHwnd = FindWindow("wndclass_desked_gsk", _
                Application.VBE.MainWindow.Caption)
     
            If VBEHwnd Then
                LockWindowUpdate VBEHwnd
            End If
     
            '''''''''''''''''''''''''
            ' your code here
            '''''''''''''''''''''''''
     
            Application.VBE.MainWindow.Visible = False
        ErrH:
            LockWindowUpdate 0&
        End Sub
    et ça marche !!!

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 01/06/2007, 09h30
  2. Masquer la console pendant l'exécution du programme
    Par freezerhm dans le forum Pascal
    Réponses: 10
    Dernier message: 18/03/2007, 11h30
  3. Réponses: 1
    Dernier message: 28/01/2006, 14h03
  4. Comparatif entre 2 méthodes d'écriture de code PHP
    Par Chengj dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2005, 21h43
  5. [JFrame] fenetre grise pendant le sleep
    Par The Wretched dans le forum Agents de placement/Fenêtres
    Réponses: 17
    Dernier message: 30/03/2005, 17h34

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