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 Access Discussion :

Tester si un formulaire est ouvert par macro [AC-2016]


Sujet :

Macros Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 145
    Points : 87
    Points
    87
    Par défaut Tester si un formulaire est ouvert par macro
    Bonjour,

    Est-il possible dans une macro de tester si un formulaire est ouvert et si oui le fermer à partir d'un autre formulaire et tout ça par macro?

    Si oui, comment? Je n'est pas vu d'équivalent du test IsLoaded par macro...

    Merci!
    Anne

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 241
    Points : 19 367
    Points
    19 367
    Billets dans le blog
    61
    Par défaut
    Bonsoir,

    Quel serait l'avantage de le faire avec une macro plutôt qu'avec du code VBA ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Une idée : demander systématiquement la fermeture et gérer l'erreur si le formulaire n'étais pas ouvert.

    Je ne me sers pas des macros, je suis de l'avis de User , mais je pense que c'est possible.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 145
    Points : 87
    Points
    87
    Par défaut
    la paresse non en fait plus prosaïquement j'ai un formulaire continu et je souhaite que lorsque je sélectionne un certain enregistrement, une petite fenêtre s'ouvre et se ferme selon la valeur de l'enregistrement..du coup, comme je ne sais pas (je n'ai pas cherché...d'où ma paresse) ouvrir un formulaire en VBA, j'ai créé un bouton qui ouvre un formulaire selon un critère, j'ai recopié la macro pour la mettre SurActivation de mon formulaire...
    En fait je réussis partiellement à faire ce que je veux faire en faisant ExécuterCode par macro et insérant des fonctions en VBA (le comble)
    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
    Function IsLoaded(ByVal strFormName As String) As Integer
     ' Retourne True si le formulaire spécifié est ouvert.
     
        Const conObjStateClosed = 0
        Const conDesignView = 0
     
        If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
            If Forms(strFormName).CurrentView <> conDesignView Then
                IsLoaded = True
            End If
        End If
    End Function
     
    Function FermerForm(ByVal strFormName As String) As Integer
        DoCmd.Close acForm, strFormName
        FermerForm = True
    End Function
    mais ça ne fonctionne pas (la fenêtre ouverte passe en arrière plan mais ne se ferme pas)...seule l'action ouvrir le formulaire fonctionne par macro..

    Mais tu as raison, je vais de ce pas voir comment simplement ouvrir un formulaire par VBA en espérant que la fermeture d'un formulaire à partir d'un autre formulaire fonctionne...j'ai un petit doute...

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 241
    Points : 19 367
    Points
    19 367
    Billets dans le blog
    61
    Par défaut
    Bonsoir et salut René

    Pour ouvrir un formulaire sur activation di formulaire nommé "Formulaire1", tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
     
       If Not CurrentProject.AllForms("Formulaire1").IsLoaded Then
          DoCmd.OpenForm "Formulaire1"
       End If
     
    End Sub
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 145
    Points : 87
    Points
    87
    Par défaut
    Merci User!
    Bon, tout bête (encore )

    Voilà ce que j'ai fait et qui marche!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Form_Current()
    If Forms![MonForm1]![MaValeur] = 3 Then
        DoCmd.OpenForm "MonForm2", acNormal, , "MonId= " & Me.MonId
        Else
            If IsLoaded("MonForm2") Then
                FermerForm ("MonForm2")
            End If
        End If
    End Sub
    Du coup, au revoir Macro!

    Et merci!

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 241
    Points : 19 367
    Points
    19 367
    Billets dans le blog
    61
    Par défaut
    De rien

    On préfère souvent le faire en VBA, même il faut un peu de pratique au début.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

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

Discussions similaires

  1. Tester si un formulaire est ouvert et refresh
    Par s.jean dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/11/2008, 01h04
  2. tester si un formulaire est ouvert ou pas
    Par idiot dans le forum IHM
    Réponses: 2
    Dernier message: 31/12/2007, 15h49
  3. Tester si un formulaire est ouvert
    Par mouaa dans le forum VBA Access
    Réponses: 4
    Dernier message: 30/07/2007, 13h30
  4. [Formulaires] Tester si un formulaire est ouvert
    Par Ithilien dans le forum IHM
    Réponses: 2
    Dernier message: 10/01/2007, 17h28
  5. Tester si un onglet est ouvert dans un formulaire
    Par dfournier dans le forum Access
    Réponses: 4
    Dernier message: 20/07/2006, 17h13

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