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

VB 6 et antérieur Discussion :

Probleme fermeture fenêtre de formulaire


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Probleme fermeture fenêtre de formulaire
    Bonsoir, voilà depuis un formulaire si je clique sur nouveau une fenêtre s'ouvre avec un MSFlexGrid, le principe est de cliquer sur une ligne et ainsi ça sélectionne l'utilisateur déjà enregistré. Une fois qu'on clique dessus la fenêtre se ferme et le numéro de l'utilisateur est inscrit automatiquement dans le champ voulu(du premier formulaire). Jusque là tout va bien mais dès que je ne souhaite pas cliquer sur une ligne car par exemple l'utilisateur n'a pas encore était saisis et que je clique sur la croix pour fermer la fenêtre et bien cette fenêtre ne se ferme pas (et ce jusqu'à ce que je finisse par cliquer sur une ligne) j'ai placé ce code dans mon deuxieme formulaire celui qui contient le MSflexGrid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Grille_Click()
    GestionAppel.Utilisateur= Grille.TextMatrix(Grille.Row, 0)
    GestionAppel.Raison.SetFocus
    Hide
    End Sub
    Je suis sûr que c'est à cause de ma première ligne de code qui affecte le numero mais je ne sais pas comment contourner ce problème. Merci de votre aide.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    Hide, masque un objet MDIForm ou Form sans le décharger.
    dans la sub Grille_Click(), il n'y a pas dechargement du formulaire mais masquage, se qui laisse penser qu'il y a une commande dans la sub Form_QueryUnload qui n'autorise son dechargement que sous condition If verif <> True then Cancel = True ou verif est mise à jour depuis ton premier formulaire GestionAppel qui met verif = True, puis execute la commande Unload.FormulaireGrid.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Je ne comprends pas mais j'ai essayé quand même dans le formulaire principale j'ai mis (c'est à dire si le champ utilisateur à le focus alors ma fenêtre Saisie s'affiche et j'affecte a Verif faux et là après je comprends pas sur dechargement de ChoixUtilisateur ( je suppose ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Utilisateur_()
    ChoixUtilisateur.Show
    Verif = False
    Unload.ChoixUtilisateur
    End Sub
    Et dans mon code du formulaire ChoixUtilisateur j'ai mis ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim Verif As Boolean
    If Verif <> True Then
    Cancel = True
    End If
    End Sub
    Mais comme j'ai pas compris j'ai dû faire une erreur et ma fenêtre ne se ferme pas quand je clique sur la croix de la fenêtre.

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Unload.ChoixUtilisateur
    ne lève pas d'erreur ?
    => Unload ChoixUtilisateur

    Dim Verif As Boolean placé dans QueryUnload en limite la portée au niveau de la procédure :
    il faut le déclarer dans une portée plus appropriée : Public dans un module standard par exemple.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    la variable Verif je viens de la placer en public dans mon module mais par contre Unload ChoixUtilisateur ne relève pas d'erreur mais je remarque que maintenant ma fenêtre ne se ferme plus du tout même en cliquant sur une ligne (elle reste en arrière plan mais ne se ferme pas) et je suis obligée d'arrêter le script.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Bon et bien je pense que je vais plutot opter pour un bouton fermer à l'intérieur du formulaire (et désactiver la croix) car j'ai essayé plein de truc mais toujours rien Merci quand même.

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 165
    Points
    17 165
    Par défaut
    2 Forms et un module

    Dans le module ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
     
    Public Verif As Boolean
    Form1 avec un CommandButton et ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
     
    Private Sub Command1_Click()
    Form2.Show
    End Sub
     
    Private Sub Form_Load()
    Verif = False
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
    Verif = True
    Unload Form2
    End Sub
    Form2 avec un CommandButton pour simuler le click equivalant au click sur une ligne du grid et ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
     
    Private Sub Command1_Click()
    Hide
    End Sub
     
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    'If Verif = False Then Cancel = True
    'ou pour même résulta
    Cancel = Not Verif
    End Sub
    J'avoue que ma première explication n'était pas des plus claire
    Essais de fermer Form2 avec la croix, avec le bouton simulant le click du grid, dis nous si cela semble être la solution.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Donc en fait après mon dernier post j'ai simuler la fermeture par un CommandButton (Fermer) et ça fonctionne bien il me reste plus qu'à griser la croix du formulaire 2 dont voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Fermer_Click()
    GestionAppel.Utilisateur = ""
    GestionAppel.Raison.SetFocus
    Hide
    End Sub
    Et dans mon premier formulaire celui qui ouvre le second le code n'a pas bougé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Utilisateur_GotFocus()
    ChoixClient.Show
    End Sub
    Mais j'ai quand même testé ta solution qui ressemble a ce que j'ai fait et le résultat et le même c'est à dire le formulaire se ferme par le bouton Fermer mais pas par la croix.

    Ps : je vois pas trop l'intérêt d'utiliser Form_QueryUnload et Unload pour un même résultat (le plus que je comprends c'est que ça permet juste de vider la mémoire ?)

    Donc la solution semble être garder mon CommandButton et faire en sorte de griser la croix.
    Mais je suis étonnée de ne trouver aucun post de cas similaire.

  9. #9
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2010
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    C'est bon j'ai grisé ma croix, c'est pas terrible mais au moins le fomulaire se ferme !

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

Discussions similaires

  1. [AC-2003] Probleme fermeture de formulaire
    Par finrod72 dans le forum VBA Access
    Réponses: 6
    Dernier message: 06/08/2010, 10h03
  2. probleme lors de la fermeture d'un formulaire
    Par rob1son76 dans le forum IHM
    Réponses: 4
    Dernier message: 04/03/2010, 23h55
  3. probleme fermeture formulaire
    Par boubounne dans le forum C#
    Réponses: 7
    Dernier message: 20/09/2007, 14h00
  4. Probleme d'envoie de formulaire
    Par wollverine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/02/2005, 16h29
  5. Probleme d'ouverture de formulaire
    Par nemesys971 dans le forum IHM
    Réponses: 11
    Dernier message: 01/02/2005, 15h08

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