Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/06/2011, 11h19   #1
Invité de passage
 
Inscription : novembre 2008
Messages : 17
Détails du profil
Informations personnelles :
Localisation : France, Aube (Champagne Ardenne)

Informations forums :
Inscription : novembre 2008
Messages : 17
Points : 3
Points : 3
Par défaut Ouvrir un formulaire d'alerte à partir d'un champ précis

Bonjour,
Je souhaiterai qu'à l'ouverture de l'un de mes formulaires, apparaisse une boite de dialogue ou d'alerte uniquement si mon champs "dossier complet" contient la valeur "Non" mais je n'arrive pas à écrire les lignes en VBA qui doivent (je suppose) figurer dans une procédure évènementielle à l'ouverture.
Ma boite de dialogue n'est pas une msgbox mais un formulaire indépendant qui me permet, à partir d'une requête, d'indiquer les dossiers qui sont incomplets. Par contre, même si tous mes dossiers sont complets, la boite de dialogue s'ouvre.
N'étant pas un pro du VBA, pourriez-vous me donner un petit coup de main.
Merci d'avance.
Chrismat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2011, 12h35   #2
Membre régulier
 
Inscription : mars 2008
Messages : 210
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 210
Points : 70
Points : 70
Bonjour,

Il faut effectuer un contrôle sur ton champ non pas sur "ouverture" mais sur "chargement".

Code :
1
2
3
4
5
If me.complet= true then
Msgbox "dossier complet"
else
Msgbox "dossier incomplet"
end if
On peut remplacer msgbox par l'ouverture d'un formulaire idoine, bien sûr.

Cordialement.
emulamateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2011, 14h18   #3
Invité de passage
 
Inscription : novembre 2008
Messages : 17
Détails du profil
Informations personnelles :
Localisation : France, Aube (Champagne Ardenne)

Informations forums :
Inscription : novembre 2008
Messages : 17
Points : 3
Points : 3
J'ai remplacé le msgbox par le nom de mon formulaire, voici ce que j'obtiens : Erreur de compilation Sub ou Fonction non définie.
Voici ce que j'ai mis :
Code :
1
2
3
4
5
6
7
Private Sub Form_Load()
If Me.Dossier_complet = True Then
Form_Info_Dossier_Incomplet "Non"
Else
Form_Info_Dossier_Incomplet "Non"
End If
End Sub
Dossier_complet pour le nom du champs
Form_Info_Dossier_Incomplet : c'est le formulaire à ouvrir
"Non", c'est la valeur dans le champs Dossier_complet
Je suppose que j'ai du inverser quelque chose !
Chrismat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 07h10   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Peut-on avoir une idée de la conception de ton formulaire (une copie d'écran par exemple).

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 08h44   #5
Invité de passage
 
Inscription : novembre 2008
Messages : 17
Détails du profil
Informations personnelles :
Localisation : France, Aube (Champagne Ardenne)

Informations forums :
Inscription : novembre 2008
Messages : 17
Points : 3
Points : 3
Bonjour,
Voici la capture

La mention "dossier complet" figure sur l'onglet Etat du dossier.
Si tous les dossiers sont réputés complets, je souhaiterai que la fenêtre Dossiers incomplets n'apparaisse pas. Pour l'instant, si tous les dossiers ont été validés en "Oui", elle s'ouvre avec la liste vide mais ça ne présente pas franchement d'intérêt d'avoir une fenêtre d'alerte alors qu'il ne se passe rien d'anormal !
Merci pour votre aide.
Images attachées
Type de fichier : jpg Capture d’écran.jpg (163,9 Ko, 4 affichages)
Chrismat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 18h18   #6
Membre régulier
 
Inscription : mars 2008
Messages : 210
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 210
Points : 70
Points : 70
A mon avis il faut, pour ouvrir en vba un formulaire, écrire une instruction du type :

Code :
docmd.openform "nomduformulaire"
Il convient ensuite d'affiner les critères de la commande "openform" (acformedit, etc.) et régler la fen pour que le formulaire ne disparaisse pas derrière le formulaire principal.

Pour ma part, je n'utilise pas l'ouverture d'un formulaire pour signaler une risque ou une information, mais le "clignotement" d'une zone de texte dans le formulaire qui s'ouvre lorsque celui-ci doit être complété.

Bien évidemment cette zone varie selon les conditions ayant permis l'ouverture du formulaire (ex :"Facture récapitulative" ou "facture provisionnelle").
emulamateur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h51.


 
 
 
 
Partenaires

Hébergement Web