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
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
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
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.
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)
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..
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 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...
Bonsoir et salut René
Pour ouvrir un formulaire sur activation di formulaire nommé "Formulaire1", tu peux essayer :
Cdlt,
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
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
Merci User!
Bon, tout bête (encore )
Voilà ce que j'ai fait et qui marche!!
Du coup, au revoir Macro!
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
Et merci!
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager