bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006
-
21 juil. 2005 à 18:28
bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006
-
27 juil. 2005 à 15:40
Bonjour,je suis débutant.
Lorsque je démarre ma macro j'ai ce message: Erreur d'exécution '424',Objet requis.
Si qq1 peut me m'expliquer la sinification de ce message d'avance merci pour l'heure je continu à chercher.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 26 juil. 2005 à 17:43
tu les cumules dit donc...
t'as relus ton code?!
1er point :
je vais te traduire ce que tu as demandé au Click 1 :
If txtMotDePasse = "chien" Then
MsgBox " code valide", vbOKOnly
ElseIf Len(txtMotDePasse) < 15 Then
ElseIf Len(txtMotDePasse) > 4 Then
MsgBox " Echec de la saisie du mot de passe" & vbCr & "La commande ne peut etre exécutée", vbOKOnly + vbExclamation, "Mot de passe incorrect"
si la Variable (qui n'est jamais modifiée, puisque txtMotDePasse ne reçoit jamais TextBox1....) contient "CHIEN" alors message
sinon si la variable contient - de 15 caractères alors ne fait rien (donc il ne fait rien puisque len = 0)
sinon si elle en contient + de 4 (exemple "CHIEN"=5. 4<5<15. y'a rien qui te choque?) alors message
2e point, tu n'as pas à refaire le test au TextBox1_Change.
Quand tu Click, là tu fais tes opéreations, c'est tout.
3e :
traduction de click2
Unload Me
MsgBox "fin de la commande"
End
tu click
tu demandes de décharger la feuille (çà ok)
mais après avoir décharger, tu demandes un msgbox?
à qui, une feuille déchargée?
et après le click, tu la redécharges violemment?!!!
Msgbox "Fin", 32, "Terminé"
Unload Me
çà suffit amplement
4e :
tu utilises une UserForm4 ? un document utilisateur? ou c'est une forme classique à laquelle tu as pondues une fonction de fermerture?!!
là faut m'expliquer l'intérêt.
un Form Classique est le seul document approprié pour ton utilisation.
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 21 juil. 2005 à 18:42
Bonjour,
Voici ce que dit l'aide. Vous avez fait référence à une propriété ou une méthode d'object, mais vous n'avez pas fourni de qualificateur d'object. Vérifie dans ton code les objects auquels tu te réfères.
Sinon, met ton code ici, que l'on puisse t'aider.
joleroisse
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 21 juil. 2005 à 19:34
salut'
tu as pu, par exemple, commencer une fonction faisant un appel à un contrôle que tu as renommé.
ex :
MaFonction(Blablabla)....
Text1="peu importe"
et tu as renommé Text1 qui n'existe donc plus ;)
PCPT
bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006 25 juil. 2005 à 11:29
Merci à jpleroisse,CanisLupus et pcpt pour leur traduction.
Voici le code de ma userform j'ai revérifié tout les object et ils me paraissent tous déclarés alors si vous voyez qq chose d'anormal signalez le moi.
userform4:
Public textMotDePasse as string
Private Sub valider_Click()
Static compteur As Byte
compteur = compteur + 1
If txtMotDePasse.text = "chien" then
Else
If compteur = 3 thenMsgBox " Echec de la saisie du mot de passe" & vbCr & "La commande ne peut etre exécutée" vbOKOnly + vbExclamation "Mot de passe incorect "
txtMotDePasse.Value=""
txtMotDePasse.SetFocus
Me.caption = "Entrez le mot de passe & Tentative & Compteur + 1 & sur &3"
End if
End if
End sub
Private sub annuler_Click()
Unload Me
MsgBox "Cette commande ne peut etre exécutée sans le mot de passe " , vbOKOnly + vbExclamation, "fin de la commande"
End
End Sub
Private Sub userform_Initialize()
txtMotDePasse.Value=""
txtMotDePasse.SetFocus
Ens Sub
Private Sub Userform_Close(Cancel as integer, closeMose as integer)
If closeMode = vbFormControlMenu then
Me.Hide
MsgBox " Cette commande ne peut etre exécutée sans le mot de passe" , vbOKOnly + vbExclamation, "Fin de la commande"
End
End if
End sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 25 juil. 2005 à 12:02
la voilà ton erreur :
txtMotDePasse.Value
un TxtBox n'a pas de valeur. remplace par txtMotDePasse.Text
j'ai pas regardé le reste. tu peux aussi, tant qu'à faire, changer ton Type de compteur en Integer. je ne vois pas l'intérêt en Byte...
et pour le permier MsgBox, remplace tes "=" par des ","
bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006 26 juil. 2005 à 09:31
Merci pcpt,j'ai fais ce que tu m'as proposé,au niveau du débogage cela passe de la meme manière et je retombe toujours sur le meme message d'erreur donc je vais effectivement me pencher sur mon caption.
bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006 26 juil. 2005 à 17:10
Voila ou j'en suis et maintenant j'ai un soucis avec le commandbutton1 qui ne valide pas le mot de passe.
Option Explicit
Dim txtMotDePasse As String
Private Sub CommandButton1_Click()
If txtMotDePasse = "chien" Then
MsgBox " code valide", vbOKOnly
ElseIf Len(txtMotDePasse) < 15 Then
ElseIf Len(txtMotDePasse) > 4 Then
MsgBox " Echec de la saisie du mot de passe" & vbCr & "La commande ne peut etre exécutée", vbOKOnly + vbExclamation, "Mot de passe incorrect"
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
MsgBox "fin de la commande"
End
End Sub
Private Sub UserForm4_Initialize()
txtMotDePasse = ""
End Sub
Private Sub UserForm4_Close(Cancel As Integer, closeMode As Integer)
If closeMode = vbFormControlMenu Then
Me.Hide
MsgBox "Cette commande ne peut être exécutée sans le mot de passe", vbOKOnly + vbExclamation, "Fin de la commande"
End
End If
End Sub
Private Sub TextBox1_Change()
If txtMotDePasse = "chien" Then
MsgBox " code valide", vbOKOnly
ElseIf Len(txtMotDePasse) < 15 Then
ElseIf Len(txtMotDePasse) > 4 Then
MsgBox " Echec de la saisie du mot de passe" & vbCr & "La commande ne peut etre exécutée", vbOKOnly + vbExclamation, "Mot de passe incorrect"
End If
End Sub
bierataise
Messages postés55Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention 4 mai 2006 27 juil. 2005 à 09:48
Voici ce que je pensais avoir traduit
Je veux que si le mot de passe est correct alors qu'il affiche un message me disant que le code est valide
sinon si le mot de passe entré par l'utilisateur est different (compris entre 4 et 15)qu'il m'affiche un message d'erreur.
Sinon je n'ai pas compris ce que tu appelle un form classique???????
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 27 juil. 2005 à 11:24
pour la "Form classique", c'est une erreur de part (j'avais oublié que tu étais en VBA. Form pour VB6)
ta "traduction" aurait donné ceci (sans pour autant être utile....) :
'on suppose que pour cet exemple, TxtMDP contient vraiment une valeur
if ((TxtMDP <> "chien") and (len(TxtMDP) > 3) and (len(TxtMDP) < 16)) then
MsgBox "Mot de Passe Invalide"
'là tu peux mettre ton compteur, pour le nombre tentatives que tu as apparemment abandonné
else
MsgBox "Soit le MDP est correct, soit il contient entre (0 et 3) ou (16 ++++) caractères"
end if