Modification durable de control d'un userform sous excel [Résolu]

y734p26 3 Messages postés mardi 25 novembre 2008Date d'inscription 25 novembre 2008 Dernière intervention - 25 nov. 2008 à 18:49 - Dernière réponse : jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention
- 26 nov. 2008 à 09:22
Bonjour,
Je débute en VBA sous excel.
Je souhaiterai definir dans un userform des paramètres de règlages (préférences) et pouvoir les modifier de façon durable à la fermeture du userform.
J'ai trouvé sur les forums des pistes pour modifier les controls du userform de façon durable
avec une instruction du genre "ThisWorkbook.VBProject.VBComponents(i).Properties("Caption")= "toto".
J'ai essayé avec un userform1 et un label1 avec l'instruction suivante :
"ThisWorkbook.VBProject.VBComponents("userform1").Controls("labels1").Properties("Caption")= "nouvelle valeur".

Malheureusement cela ne fonctionne pas et me renvoie un message du type la méthode "VBproject a échoué".
Je remercie toute ame charitable que voudra bien memontrer comment on peut réaliser ce tour de magie.
Merci d'avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 25 nov. 2008 à 23:12
3
Merci
Salut,

>[../auteur/Y734P26/1535434.aspx y734p26] : Suffit de rendre la feuille invisible

Sinon, il me semble que pour accéder à tout ce qui est VBProject, tu doives modifier le niveau de sécurité des macros du classeur (ou qqch dans le genre).

extrait trouver sur cette page:
VBA Express : Excel - Create a temporary UserForm to show the ...

'This code requires that the user permit programmatical access to the VBA Project in later versions of Excel
'to do this, from the normal Excel menu
'Tools - Macro - Security
'tab to Trusted Publishers
'tick the checkbox next to "Trust access to the Visual Basic Project"

@+: Ju£i€n
Pensez: Réponse acceptée

Merci jrivet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 75 internautes ce mois-ci

Commenter la réponse de jrivet
cs_Orohena 578 Messages postés vendredi 26 septembre 2008Date d'inscription 20 novembre 2010 Dernière intervention - 25 nov. 2008 à 20:24
0
Merci
Bonjour y734p26

Est-il vraiment indispensable que tes modifications soient enregistrées ? Tu peux - avantageusement selon moi - enregistrer tes préférences dans une feuille de calcul réservée à cet usage, et initialiser dynamiquement les contrôles de ton formulaire lors de l'exécution de la macro UserForm_Initialize.

Peux tu voir si l'une des instructions suivantes (que je n'ai pas vérifiées) répond à ta question ?

 Me.label1.Caption = "nouvelle valeur" (instruction à placer dans la macro UserForm_Initialize() du formulaire)

UserForm1.label1.Caption = "nouvelle valeur" (instruction à placer dans un module ou dans une feuille de calcul)

Si tu mémorises "nouvelle valeur" dans une cellule nommée label d'une feuille de calcul nommée preferences, les instructions ci-dessus deviennent :

Me.label1.Caption = WorkSheets("preferences").Range("label").Value

UserForm1.label1.Caption = WorkSheets("preferences").Range("label").Value

J'espère avoir été suffisamment clair et avoir répondu à ta question

Amicalement
Commenter la réponse de cs_Orohena
y734p26 3 Messages postés mardi 25 novembre 2008Date d'inscription 25 novembre 2008 Dernière intervention - 25 nov. 2008 à 22:31
0
Merci
Merci Orohena,
La réponse est très claire.


J'ai effectivement pensé à cette solution, mais je voulez savoir si s'était possible de modifier le userform durablement.
L'intérêt pour moi est purement 'esthétique', car ainsi les informations sont uniquement contenus dans le userform et ne sont pas visibles des utilisateurs du classeur.
Commenter la réponse de y734p26
y734p26 3 Messages postés mardi 25 novembre 2008Date d'inscription 25 novembre 2008 Dernière intervention - 25 nov. 2008 à 23:46
0
Merci
Merci Julien,
C'est ce que je cherchais.
Merci à Orohena et Julien pour vos réponses rapides et efficaces.
Je retourne à mes macros ...
Réponse acceptée
Commenter la réponse de y734p26
cs_Orohena 578 Messages postés vendredi 26 septembre 2008Date d'inscription 20 novembre 2010 Dernière intervention - 26 nov. 2008 à 00:11
0
Merci
C'est cool.

Julien, comme toujours, ta réponse me laisse admiratif.
y734p26Je retourne à mes macros. Bonne pêche, alors...

Amicalement
Commenter la réponse de cs_Orohena
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 26 nov. 2008 à 09:22
0
Merci
Re,
> [../auteur/Y734P26/1535434.aspx y734p26]:   Y a pas de quoi content d'avoir pu aider.
> [../auteur/OROHENA/1483575.aspx Orohena]: Arrête je vais rougir

@+: Ju£i€n
Pensez: Réponse acceptée
Commenter la réponse de jrivet

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.