Modifications & sauvegarde de propriétés

cs_ANIMAL
Messages postés
21
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2015
- 4 août 2006 à 10:11
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
- 6 août 2006 à 11:00
Est-ce que quelqu'un aurait l'amabilité de m'expliquer quelle routine créer afin de modifier, sous Excel, avec VBA les PROPRIETES des Textbox ou des Commandbutton  de façon définitive.

11 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
4 août 2006 à 10:30
Salut,


Dans le but d'avoir une réponse rapide et précise, il faudrait que tu sois bien plus explicite sur ton problème...


Ou se trouve les objets, quelle propriété. qu entends tu par "définitive" enfin bref... expliques toi mieux.

@+, Julien
Pensez: Règlement/STRONG>
0
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
4 août 2006 à 11:20
Re,


Je reponds ici car c'est le but d'un forum....


Pas de MP merci.


Tout comme on peut modifier les instructions dans les modules. (components)
Je cherche simplement une procédure , avec VBA permettant de modifier les PROPRIETES des Textbox ou des Commandbutton ou autres éléments contenus dans VBAProject dans la partie feuilles sur un USERForm.
Les propriétés classiques telles que Caption, Width, Top, Controlsource ...  
Le but est de conserver les nouvelles données des     des propriétés aprés:
-Une routine se terminant par un END
-Aprés un passage en mode création
-Ou enfin à la sauvegarde lors de la fermeture du    fichier.
Merci pour lasuite.

Ou est ce que tu coinces exactement.
Sais tu récupérer les propriétés?

Je suis vraiemnt désolé mais je ne vois pas ou est ton problème (d'ou l'intéret de continuer a poster ici (d'autre pourrons te venir en aide grace a tes complements d'inof).
$

@+, Julien
Pensez: Règlement/STRONG>
0
ShareVB
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
25
4 août 2006 à 11:24
salut,

si je comprends bien...utilise l'éditeur graphique en double cliquant sur les formulaires dans l'explorateur de projet...

ShareVB
0
cs_ANIMAL
Messages postés
21
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2015

4 août 2006 à 16:30
Exemple simple :
Si en mode création avant de démarrer l'application j'ai la configuration suivante:
Userform1.caption ?Titre? Userform1.Label1.caption ?S/Titre?

Ensuite avec des routines diverses telles
1_
Userform1.caption=?Chargement de la date?
Userform1.Label1.caption=? Date xx/xx/xxxx?
2 _ Puis plus loin
Userform1.caption=?Modification de la date?
Userform1.Label1.caption=? Date yy/yy/yyyy?
3 _ Fin de l'application, sauvegarde et fermeture du fichier

4 _ A la réouverture du fichier, je me retrouve avec
Userform1.caption ?Titre?
Userform1.Label1.caption ?S/Titre?
Alors que j'aurais voulu avoir les dernières valeurs entrées
Soit :
Userform1.caption ?Modification de la date?
Userform1.Label1.caption ? Date yy/yy/yyyy?
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ANIMAL
Messages postés
21
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2015

4 août 2006 à 16:30
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
4 août 2006 à 21:37
Humm tu as la chance de travailler avec Excel !!
Il te suffit tout simplement de stocker les propriétés dans des cellules (en cas crée un onglet spécial, pour les placer)
Style dans
ThisWorkbook_BeforeClose()
    With Me
        Range("A1").Value = .Caption
        Range("A2").Value = .Label1.Caption
    End With
End Sub

Et
ThisWorkbook_Open()
    With Me

        .Caption = Range("A1").Value

        .Label1.Caption = Range("A2").Value

    End With
End Sub

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
4 août 2006 à 21:39
Arf, je suis allé trop vite, le code étant placé dans ThisWorkbook, remplace 'Me' par le nom de ton UserForm

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
cs_ANIMAL
Messages postés
21
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2015

5 août 2006 à 01:48
Tout d'abord  merci d'avoir répondu à mon pb.

Cette solution n'est pas celle que j'attends en effet je ne souhaite pas conserver les valeurs des propriétés des objets dans une cellule mais modifier réellement la valeur de la propriété comme on le fait lorsque l'on modifie les paramètres en utilisant simplement l'éditeur de VBA en mode création.

Autrement dit, comment accéder à l'écriture directe de ces propriétés à travers une routine et donc à la sauvegarde de ces propriétés lors de la fermeture du fichier.

@ +++
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
5 août 2006 à 06:46
Re,

c'est beaucoup plus complexe, il faut réécrire la procédure.
Aide toi de ce topic :
http://www.vbfrance.com/infomsg_BIBLIOTHEQUE-OBJETS_791033.aspx

j'y ai mis un message pour la bibliothèque du projet, t'as juste à l'adapter (voit les méthodes Replace, DeleteLine et InsertLine, de VBComponents)

++
0
cs_ANIMAL
Messages postés
21
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 janvier 2015

6 août 2006 à 00:31
Merci pour ta réponse qui semble aller exactement dans le sens de ma demande.

PBs:
1_ Avec Office2000, je bute maintenant sur la ligne de définition:
Dim RechercheFile as FileDialog
  où le débugage avec VBA détecte une erreur de compilation sur FileDialog
(Type défini par l'utilisateur non défini).

Dans Références, j'ai essayé de mettre en fonction                    MicrosoftOffice 9.0 object library  avec  MSO9.DLL mais

FileDialog provoque toujours une erreur. Que faire?

2_ Pour aprés, une interrogation sur le role de la ligne:
RechercheFile.Filters.Add "Fichier excel","*.xls",1
Sélection des XLS seuls je suppose mais pourquoi ADD et ,1 dans cette instruction.

@ ++++ pour lasuite.
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
6 août 2006 à 11:00
Alors effectivement j'ai fait ce code en Office 2003.

Pour info, j'ai ces références :
* Visual Basic for Applications
* Microsoft Excel 11.0 Object Library
* OLE Automation
* Microsoft Office 11.0 Object Library

FileDialog fait parti de la bibliothèque 'Microsoft Office 11.0 Object Library'

Pour < RechercheFile.Filters.Add "Fichier excel","*.xls",1 >

C'est pour ajouter un filtre à la boite de dialogue. En l'occurence, j'ai nommé ce filtre "Fichier excel" (s'affiche dans la boite) en précisant quelles étaient les extensions (donc .xls) pour que seuls ces fichiers ne s'affichent.

Le 1 place ce filtre en premier (car tu peux créer des groupes de Filtre, ex :

With RechercheFile
.Filters.Add "Fichier excel", "*.xls", 1
.Filters.Add "Fichier image", "*.jpg; *.bmp; *.gif", 2
.Filters.Add "Fichier Access", "*.mdb", 3
End With

@+
0