cs_ANIMAL
Messages postés21Date d'inscriptionmardi 6 mai 2003StatutMembreDernière intervention 2 janvier 2015
-
4 août 2006 à 10:11
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 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.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 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).
$
cs_ANIMAL
Messages postés21Date d'inscriptionmardi 6 mai 2003StatutMembreDerniè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?
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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"
cs_ANIMAL
Messages postés21Date d'inscriptionmardi 6 mai 2003StatutMembreDerniè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.
cs_ANIMAL
Messages postés21Date d'inscriptionmardi 6 mai 2003StatutMembreDerniè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.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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