Textbox : Erreur d'execution 91

Textbox : Erreur d'execution 91 - VB/VBA/VBS - Programmation

Marsh Posté le 04-07-2006 à 23:07:07    

J'ai un poblème avec ce petit bout de code.  
 
Private Sub UserForm_Initialize()
   Dim TSaisie As TextBox
   TSaisie.Text = ""
End Sub
 
Chaque fois que j'essaie de l'executer, j'obiens l'erreur ci-dessous :
 
Erreur d'execution 91 :Variable objet ou variable de bloc with non définie.
 
Quelqu'un peut-il m'aider s'il vous plait
 
Merci

Reply

Marsh Posté le 04-07-2006 à 23:07:07   

Reply

Marsh Posté le 04-07-2006 à 23:19:54    

Bonjour,
L'objectif est-il de mettre la Textbox à blanc avant utilisation de la form ?
si oui, alors faire simplement nom_de_la_textbox.value = ""
A+

Reply

Marsh Posté le 04-07-2006 à 23:38:12    

Bonsoir Foot49
 
J'ai fait comme tu m'as dit et voici ce que ça donne.
 
Private Sub UserForm_Initialize()  
   Dim TSaisie As TextBox  
   TSaisie.value= ""  
End Sub
 
Malheureusement j'obtiens la même erreur :
Erreur d'execution 91 :Variable objet ou variable de bloc with non définie.

Reply

Marsh Posté le 04-07-2006 à 23:52:35    

Pourquoi ne fais tu pas directement
 
Private Sub UserForm_Initialize()  
   TSaisie.value= ""  
End Sub  
 
ça devrait mieux fonctionner

Reply

Marsh Posté le 05-07-2006 à 00:04:17    

foot49 a écrit :

Pourquoi ne fais tu pas directement
 
Private Sub UserForm_Initialize()  
   TSaisie.value= ""  
End Sub  
 
ça devrait mieux fonctionner


 
En fait je suis entrain de créer un module de classe dans lequel figure une propriété TSaisie.  
 
 
Private TSaisie As TextBox
 
Private Sub Class_Initialize()
    TSaisie.value= ""
    TSaisie.Enabled=false
End Sub

Reply

Marsh Posté le 05-07-2006 à 09:04:17    

La variable TSaisie est déclarée comme TextBox. Mais il faut l'instancier avant de vouloir manipuler quoique ce soit.  
 
Donc, une fois TSaisie déclarée, il faut l'ajouter sur la feuille et seulement ensuite, tu peux adresser ses propriétés. Mais cette manip. demande un minimum de connaissances de VB.....
 
Ou plus simplement, tu insères un textbox à la main, sur ta feuille, tu le nommes TSaisie, et là, tu as une instance d'objet à triturer.


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
Reply

Marsh Posté le 05-07-2006 à 23:55:35    

Désolé, mais je n'ai pas encore vraiment approfondi les modules de classe, ce sera pour cet hiver.
Si tu n'as pas un nombre important de form ayant la même Textbox ou plusieurs objets identiques à gérer, pourquoi vouloir se compliquer la vie, alors que la duplication de 2 ou 3 lignes dans l'initialize de quelques userform rendra le même service en ne prenant que quelques octets de plus. De ce fait pas de variable à gérer dans une classe.
A+

Reply

Marsh Posté le 06-07-2006 à 12:24:26    

Bonjour,
 
J'ai montré un petit bout de code mais j'ai plusieurs objets identiques à gérer.
Heureusement, j'ai trouvé une solution
Au lieu de : Dim TSaisie as TextBox j'ai fait Dim TSaisie as MSForms.TextBox
 
Ce qui donne
 
Dim TSaisie as MSForms.TextBox
      Set TSaisie = TextBox1       'TextBox1 étant la TextBox n°1 creée dans la feuille.
      TSaisie.Text = ""
      TSaisie.Enabled = false
      etc......
 
Je vous remercie de votre participation à la recherche d'une solution à mon problème

Reply

Marsh Posté le 06-07-2006 à 14:36:57    

un chti [résolu] das le topic?

Reply

Marsh Posté le 08-07-2006 à 16:41:12    

Oui !!!!!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed