Erreur avec mon USF ?

T

Thierry28

Guest
Bonjour à tout le forum
Quand j'appel mon USF, j'ai une erreure 91 ds certain cas.

voici le code simpliste qui appel le USF:
Sub mot()
UserForm30.Show
Exit Sub
End Sub

le code de début du USF30 est:
Private Sub Userform_initialize()
If Application.UserName = 'AB' Then
MsgBox 'mon message', vbCritical, 'Attention'
Unload Me
End If
End Sub

Si Application.UserName n'est pas 'AB' tout va bien, sinon j'ai une erreur 91 variable objet ou variable de bloc with non défini; et me surligne UserForm30.Show en jaune ????
Pourriez vous m'aider a dissoudre ce grain de sable.
merci
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Thierry28, le Forum,

Sauf erreur de ma part, 'Unload Me' n'est pas supporté lorque 'Me' (le Userform!) est en cours d'initialisation. En clair, tu ne peux pas décharger de la mémoire un objet qui n'est pas encore chargé complètement...

Une solution pourrait-être de mettre ton test et l'instruction Unload dans l'évènement Activate() au lieu d'Initialize().

Une autre solution (meilleure selon moi) serait simplement :
Sub mot()
      If Application.UserName <> 'AB' Then
            UserForm30.Show
      Else
            MsgBox 'mon message', vbCritical, 'Attention'
      End If
End Sub
Cordialement,
 

Hervé

XLDnaute Barbatruc
Bonsoir thierry

Ton souci viens du unload me, en effet tu cherches à décharger un userform qui n'est pas encore chargé, ca coince.

La combine c'est de faire le test avant, dans la procédure mot :

Sub mot()
If Application.UserName = 'AB' Then
MsgBox 'mon message', vbCritical, 'Attention'
Else
UserForm30.Show
End If
End Sub


voilà

salut

EDITION : oups pas rapide le hervé, SALUT ami didier :)

Message édité par: hervé, à: 27/10/2005 17:51
 

Discussions similaires

Statistiques des forums

Discussions
312 469
Messages
2 088 688
Membres
103 920
dernier inscrit
jean claude