Meme si end elle s'affiche

Résolu
cs_kysid Messages postés 75 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 26 mai 2008 - 6 mai 2006 à 18:20
cs_kysid Messages postés 75 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 26 mai 2008 - 6 mai 2006 à 18:57
salut tt le monde

svp ou est le probléme

Private Type Ecran
X As Integer
Y As Integer
End Type
Private Function get_Res() As Ecran
get_Res.X = Screen.Width \ Screen.TwipsPerPixelX
get_Res.Y = Screen.Height \ Screen.TwipsPerPixelY
End Function


Private Sub Form_Load()
If get_Res.X <> 800 And get_Res.Y <> 600 Then
msg = MsgBox(Str(get_Res.X) & " X " & Str(get_Res.Y) & " EST UNE MAUVAISE RESOLUTION" & vbCrLf & "TEU VEUX QUITTER POUR ALLER CHANGER LA RESOLUTION?", vbYesNo + vbExclamation, "ATTENTION ::..choisir 800x600")
ElseIf msg = vbYes Then
Unload Me
End
ElseIf msg = vbNo Then
Me.Show
End If
End Sub


sous une resolution differente de 800x600
si reponse OUI la feuille est affichée meme si j ai mis
Unload Me
End
or j attend que la feuiile n apparait pas et
meme ne soit pas chargée
qu est ce q je dois mettre pour avoir ce q je veut : [ne pas carger lafeuille]


par contre
si reponse NON la feuille est affichée là c est bon

merci à vous
kysid

4 réponses

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
6 mai 2006 à 18:28
En ait c'est ton elseif qui ne va pas tu n'accèdera jamais à ton elseif si tu a déjà aficher ton message
Dans une boucle if elseif end if ,une seuls condition est exécutée : essaye ça

Private Sub Form_Initialize()


If get_Res.X <> 800 And get_Res.Y <> 600 Then
msg = MsgBox(Str(get_Res.X) & " X " & Str(get_Res.Y) & " EST UNE MAUVAISE RESOLUTION" & vbCrLf & "TEU VEUX QUITTER POUR ALLER CHANGER LA RESOLUTION?", vbYesNo + vbExclamation, "ATTENTION ::..choisir 800x600")
If msg = vbYes Then
Unload Me
End
ElseIf msg = vbNo Then
Me.Show
End If
End If


End Sub


Fiko ;-)

Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance.</< body>
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 mai 2006 à 18:38
Une petite remarque en passant :

Ouch, que d'appel à get_res !!!

4 appels en tout, alors que si tu stockait le retour de ta fonction, ca serait plus optimisé :

Private Sub Form_Load()
Dim return as Ecran
return = get_res
If return .X <> 800 And return.Y <> 600 Then
if MsgBox(Str(return.X) & " X " & Str(return.Y) & " EST
UNE MAUVAISE RESOLUTION" & vbCrLf & "TEU VEUX QUITTER POUR
ALLER CHANGER LA RESOLUTION?", vbYesNo + vbExclamation, "ATTENTION
::..choisir 800x600") = vbYes Then
Unload Me
End
Else
Me.Show
End If
End Sub

Ca fera la même chose que la soluce de fiko, en bien plus efficace !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
3
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
6 mai 2006 à 18:41
chiu d'accord avec darksidious


Fiko ;-)

Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance.</< body>
0
cs_kysid Messages postés 75 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 26 mai 2008
6 mai 2006 à 18:57
salut
grand merci aà vous 347460 fiko81 & =13557 DARKSIDIOUS
temoignez : mon ignorance diminue :)
.......lentement
mais...........surement ;)
bonne journée
kysid
0
Rejoignez-nous