Prolbleme avec vbmodal [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010
-
Messages postés
106
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
22 avril 2010
-
bonjour

Voila je voudrais enlever vbmodal de mon programme cependant il est suivi de plein de enable et du coup il me faudrai un moyen de les remplacer!!!???
merci de m'aider avec vos idées!!!

Doguez

12 réponses

Messages postés
106
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
22 avril 2010

Préfixe tout les objets que tu "enable" ou "disable" par l'objet parents.
Car par défaut si tu fait un "Label1.Enabled False", pour VBE, cela correspond à faire "MonFormAfficher.Label1.Enabled False"
Donc préfixe avec le nom du form qui contient tout les objets que tu veux masquer ou afficher.
("FOChamp" il me semblerait).

Rappel :
With FOchamp
    .COAI.Enabled = False
End With

Reviens à faire
FOchamp.COAI.Enabled = False

Cela évite juste de préfixé tout tes objets avec le nom du form mais juste de préfixé avec un "."


Private Sub BTajouter_Click()
'FOchamp.Show vbModal

Call CodeRefresh
End Sub

Private Sub CheckControl()
    With FOchamp
        If COliste.ListIndex > 0 Or Len(COvaleur) > 0 Then
            .COAI.Enabled = False
            .COlg.Enabled = False
            .Label1.Enabled = False
            .Label2.Enabled = False
            .Option1.Enabled = False
            .Option2.Enabled = False
            .Check1.Enabled = False
            .Check2.Enabled = False
        Else
            .COAI.Enabled = True
            .COlg.Enabled = True
            .Label1.Enabled = True
            .Label2.Enabled = True
            .Option1.Enabled = True
            .Option2.Enabled = True
            .Check1.Enabled = True
            .Check2.Enabled = True
        End If
        If Len(COAI) > 0 And Len(COlg) > 0 Then
            .COvaleur.Enabled = True
            .Label3.Enabled = True
            .COvaleur.MaxLength = Val(COlg)
        Else
            .COvaleur.Enabled = False
            .Label3.Enabled = False
        End If
        If (Option2.Value True And Len(COvaleur) > 0) Or (Option1.Value True And Len(COvaleur) = Val(COlg)) Then
            .BToui.Enabled = True
        Else
            .BToui.Enabled = False
        End If
    End With
End Sub
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

Avec aussi peu de détails, on ne peux pas faire grand chose pour toi.

Montre nous ton code...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
15
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010

Private Sub BTajouter_Click()
'FOchamp.Show vbModal

Call CodeRefresh
End Sub

Private Sub CheckControl()
If COliste.ListIndex > 0 Or Len(COvaleur) > 0 Then
COAI.Enabled = False
COlg.Enabled = False
Label1.Enabled = False
Label2.Enabled = False
Option1.Enabled = False
Option2.Enabled = False
Check1.Enabled = False
Check2.Enabled = False
Else
COAI.Enabled = True
COlg.Enabled = True
Label1.Enabled = True
Label2.Enabled = True
Option1.Enabled = True
Option2.Enabled = True
Check1.Enabled = True
Check2.Enabled = True
End If
If Len(COAI) > 0 And Len(COlg) > 0 Then
COvaleur.Enabled = True
Label3.Enabled = True
COvaleur.MaxLength = Val(COlg)
Else
COvaleur.Enabled = False
Label3.Enabled = False
End If
If (Option2.Value True And Len(COvaleur) > 0) Or (Option1.Value True And Len(COvaleur) = Val(COlg)) Then
BToui.Enabled = True
Else
BToui.Enabled = False
End If
End Sub


Voici une partie de mon code et en fait j'ai supprimer les vbmodale cependant les enabled provoque des problème dans mon programme et je ne vois pas par quoi les remplacer??
j'espère avoir étais plus clair!!!!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

provoque des problème dans mon programme


Il faut que tu sois plus précis pour qu'on puisse t'aider : quel genre de problème ?

Je vois mal en quoi le fait d'activer ou de désactiver des contrôles peuvent provoquer des bugs...

C'est à toi d'être précis dans tes questions, pas à nous de t'en poser pour comprendre ton problème...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Si tu ne veux pas de vbModal, utilise vbModeless
Tout est expliqué dans l'aide de la fonction .Show
Messages postés
15
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010

en fait c'est .show que je ne souhaite pas utiliser c'est ça plutot!!
les problèmes c'est que le fait d'enlever .show donc vbmodal me fait disparaitre un partie de mon code!!!
j'espère être plus précis!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

Toujours pas plus précis :
me fait disparaitre un partie de mon code


Qu'est-ce que tu veux dire par là ??? Quel est le comportement que tu attends, et qu'est-ce qui se produit à la place ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
15
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010

désolé j'ai du mal à être précis à chaque fois dans mes explications.
alors je souhaiterait faire apparaitre mon code barre en entier cependant lorsque j'enlève le .show cela provoque la disparition de la fin de mon code, il n'est pas traduit comme le reste du code!!!
je suppose que cela provienne du fait que j'enléve le .show et qu'il reste la présence de enabled!!!
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

Ben tout dépend de ce que fait ton code... Montre nous le code de ta fonction CodeRefresh déjà.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
15
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010

merci à tous pour votre aide et plus particulièrement à daffy qui ma permis de résoudre mon problème, sinon j'avais trouvé le moyen de dériver le truc afin que ça ne me bloque pas dans mon programme en rajoutant une ligne "bidon" qui du coup comme c'est la dernière ligne qui n'est pas codé cela ne me gêné plus dans le reste de mon programme!
voilà puis merci encore a vous tous!

Doguez
Messages postés
106
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
22 avril 2010

En relisant ma réponse ma réponse je me suis aperçu que je n'avais pas préfixer tout les objets du form par un ".".
J'espère que tu as pensé à le faire sinon voici la correction.
(Nota : J'ai préfixé tout les objets cependant seul toi sais s'ils font tous parti de "FOchamp")

Private Sub BTajouter_Click()
'FOchamp.Show vbModal

Call CodeRefresh
End Sub

Private Sub CheckControl()
    With FOchamp
        If .COliste.ListIndex > 0 Or Len(.COvaleur) > 0 Then
            .COAI.Enabled = False
            .COlg.Enabled = False
            .Label1.Enabled = False
            .Label2.Enabled = False
            .Option1.Enabled = False
            .Option2.Enabled = False
            .Check1.Enabled = False
            .Check2.Enabled = False
        Else
            .COAI.Enabled = True
            .COlg.Enabled = True
            .Label1.Enabled = True
            .Label2.Enabled = True
            .Option1.Enabled = True
            .Option2.Enabled = True
            .Check1.Enabled = True
            .Check2.Enabled = True
        End If
        If Len(COAI) > 0 And Len(COlg) > 0 Then
            .COvaleur.Enabled = True
            .Label3.Enabled = True
            .COvaleur.MaxLength = Val(.COlg)
        Else
            .COvaleur.Enabled = False
            .Label3.Enabled = False
        End If
        If (.Option2.Value True And Len(.COvaleur) > 0) Or (.Option1.Value True And Len(.COvaleur) = Val(.COlg)) Then
            .BToui.Enabled = True
        Else
            .BToui.Enabled = False
        End If
    End With
End Sub
Messages postés
106
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
22 avril 2010

Et bien j'ai envoyé ma réponse trop vite, et donc du coup encore oublié certains objet.
Je te laisse donc le soin de vérifier et de modifier par toi même.

Cordialement.