|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Conseil - Consultant en systèmes d'information Inscription : septembre 2011 Messages : 8 ![]() |
Bonjour à tous,
Je cherche comment conserver un objet de classe, créé à l'ouverture du classeur dans la procédure Workbook_open, jusqu'à la fermeture du classeur pour accéder à ses propriétés tout au long de l'ouverture du classeur. Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour
En déclarant ta variable Public dans un module, si j'ai bien compris ta question. bonne journée
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Conseil - Consultant en systèmes d'information Inscription : septembre 2011 Messages : 8 ![]() |
Bonjour,
J'ai effectivement déclaré l'objet Public dans un module standard, mais je constate que je le perd systématiquement après avoir créé un ComboBox (set ole= Feuil1.OLEObject.ADD ...) dans une procédure sélection_Change sur la feuille 1. C'est un mystère épais .
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() |
bonjour
ta variable doit etre en public dans un module standard ainsi que la macro qui declenche la classe au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Conseil - Consultant en systèmes d'information Inscription : septembre 2011 Messages : 8 ![]() |
Merci pour ta réponse.
En complément je t'indique que l'objet qui devrait conserver la propriété est créé à l'ouverture du fichier dans la procédure Workbook_open. La variable objet est bien déclarée public dans un module standard. Si j'ai bien compris ta remarque, il ne faut pas que j'instancie l'objet dans cette procédure d'événement dans le module de classeur, mais dans un module standard. Je crée donc une fonction qui instancie la classe dans un module standard . Cett fonction étant appelé par Workbook_open à l'ouverture. J'attend ta validation avant de lancer la modif. Nota : J'ai observé que si je change le combobox par un contrôle de formulaire Dropdown je n'ai plus aucun problème, l'instance est conservée pendant toute la d'ouverture du classeur. Encore merci. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() |
c'est exactement ca
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Conseil - Consultant en systèmes d'information Inscription : septembre 2011 Messages : 8 ![]() |
Re,
J'ai réalisé la modif proposée, sans succès. Entre temps un ami est tombé sur un blog de 2009 ( forum excel) signalant la perte inopinée des variables publics lors de la création dynamique d'un combobox. Dans mon appli je ne passe par pas un user form, est-ce là la cause du pb. A+ |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() |
bonjour
j'avoue que la je cale pourrais tu poster ton code rassure moi tu travaille bien sur un classeur et pas plusieurs????? au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#9 | ||||||||
|
Invité de passage
![]() Conseil - Consultant en systèmes d'information Inscription : septembre 2011 Messages : 8 ![]() |
Bonjour,
Merci pour ton opiniâtreté sur le sujet. Je te rassure, je travaille bien avec un seul classeur. Ci après le code (désolé je ne connais pas encore la manip pour insérer les lignes de code déroulantes comme je le vois dans les messages): Voici le code situé dans le module de feuille Code :
Code :
Code :
Code :
Merci pour ton aide. |
||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com