begin process at 2008 08 29 02:13:29
1 233 478 membres
20 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : gestion d'evenements de controles ajoutés dynamiquement [ Langages dérivés / VBA ] (ptard)

gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 17:00:40

ptard
Bonjour

Je souhaite creer dynamiquement des textbox sur un document Word et gerer les evenements associés à ces nouveaux controles
La création marche bien, mais j'ai une erreur 13 incompatibilité de type qui se produit sur la ligne de code suivante
    Set cl.tb = Obj

J'ai essayé plusieurs types pour la variable Obj mais sans succés
Je demande de l'aide car débutant sur ce type de programmation je pense que je dois faire une GROSSE erreur

Merci

Voici le code

dans un module
------------------------------------------------
Option Explicit
Public cl As Classe1
Public Obj As Variant
Public collect As Collection

dans un module de classe
-----------------------------------------------
Public WithEvents tb As MSForms.TextBox
Private Sub tb_Change()
Stop
End Sub

dans un userform
---------------------------------------------------
Private Sub CommandButton1_Click()
Set collect = New Collection
Set collect = Nothing
Set Obj = ActiveDocument.InlineShapes _
    .AddOLEControl(ClassType:="Forms.textBox.1")
'With Obj.OLEFormat.Object
    '.Text = "aa"
    '.Name = "tt"
'End With
Set cl = New Classe1
Set cl.tb = Obj
collect.Add cl
end sub



Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 17:29:32

PCPT
(Admin CS)
salut

Public WithEvents tb As MSForms.TextBox
Public Obj As Variant


ta classe attend un objet de type MSForms.TextBox, tu lui en donnes un de type Variant.
çà passe pas ;)
retype ton Obj correctement

Prenez un instant pour répondre à ce sondage svp  

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 17:31:35

PCPT
(Admin CS)
ps :

Set collect = Nothing
(...)
collect.Add cl


tu ne pourras pas ajouter quoi que ce soit à NOTHING...

Prenez un instant pour répondre à ce sondage svp  

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 17:50:31

ptard

Merci pour reponse, mais j'ai déjà essayé ce retype  et d'autres sans succés
J' ai aussi supprimé Set Collect=Nothing et j'ai toujours l'erreur 13

 


Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 18:18:13

PCPT
(Admin CS)
tu es sûr que ActiveDocument.InlineShapes te renvoie un type objet?...
erreur sur quelle ligne?

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 18:23:53

ptard
je suis sure de rien
j'ai erreur 13 sur ligne de code
    Set cl.tb =Obj

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 18:52:27

PCPT
(Admin CS)
remplace ces 2 lignes :
Set cl.tb = Obj
collect.Add cl


par :
If obj Is Nothing Then
    MsgBox "j'essaye d'ajouter RIEN/NULL"
Else
    If TypeOf Obj Is MSForms.TextBox Then
        MsgBox "ICI LE SEUL CAS Où LE CODE SERAIT BON !!!"
        Set cl.tb = Obj
        'collect.Add cl
    Else
        MsgBox "J'essaye d'ajouter n'importe quoi : '" VarType(obj) & "'"
    End If
End If



Prenez un instant pour répondre à ce sondage svp  

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 19:06:38

ptard
ok Obj c'est n'importe quoi

Alors si le code est mauvais que faut-il ecrire pour parvenir à ajouter ces textbox et gerer leurs evenements ( cela marche quand on les ajoute sur un userform mais je veux les ajouter à un document......)
 Merci beaucoup si tu as des idées

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 19:11:35

ptard
J'ai répondu trop rapidement en fait le type objet est=9 donc c'est un vbobjet d'aprés l'aide VBA

Re : gestion d'evenements de controles ajoutés dynamiquement le 05/07/2008 19:21:50

ptard
en ajoutant
montest=IsObject(Obj)
cela me renvoie vrai


[Page 1 Page 2]
Classé sous : evenements, obj, dynamiquement, cl, tb

Participer à cet échange

Livres en rapport

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS