Y a t'il moyen de créer des Metadatas personnalisés dans Excel ?
Merci.
Version imprimable
Y a t'il moyen de créer des Metadatas personnalisés dans Excel ?
Merci.
Que veux-tu dire par metadatas ?
Seraient-ce les propriétés du fichier (menu Fichier, Propirétés), par hasard ?
Les Metadatas sont les propriétés liés au fichier.
Par défaut, il existe "Title", "Subject", "Author", "Category", "Keywords" et "Comments".
Dans les autres documents Office, il y a moyen d'ajouter des Metadatas personnalisés.
Comment faire dans Excel ?
Philippe
bonsoir
Pour créer une propriété personnalisée par VBA:
L'argument Type spécifie le type de données pour la nouvelle propriété. Attention: Vous obtiendrez un message d'erreur (Incomptabilité de type) si tu essayes d'insérer des données textes dans une propriété définie pour des valeurs numériques.
Les types de données possibles:
msoPropertyTypeNumber: Valeurs entières (Si vous insérez 196.4, c'est 196 qui sera enregistré)
msoPropertyTypeFloat: Valeurs numériques
msoPropertyTypeBoolean: Vrai ou Faux
msoPropertyTypeDate: Dates et heures
msoPropertyTypeString: Texte
Code:
1
2
3
4 Sub ajouterProprietePersonnalisee() ThisWorkbook.CustomDocumentProperties.Add Name:="infoX", _ Type:=msoPropertyTypeNumber, LinkToContent:=False, Value:=1965 End Sub
Lire Les propriétés personnalisées
Cet exemple permet de lire la propriété personnalisée qui a été créée par la macro précédente.
Il est aussi possible de boucler sur la collection de propriétés personnalisées:Code:MsgBox ThisWorkbook.CustomDocumentProperties("infoX").Value
Code:
1
2
3
4
5
6
7
8
9
10 Sub bouclerSurToutesLesProprietesPersonnalisees() Dim Cp As DocumentProperty 'Vérifie qu'il y a des propriétés personnalisée If ThisWorkbook.CustomDocumentProperties.Count = 0 Then Exit Sub For Each Cp In ThisWorkbook.CustomDocumentProperties MsgBox Cp.Name & vbLf & Cp.Value Next Cp End Sub
Modifier une propriété personnalisee
Code:ThisWorkbook.CustomDocumentProperties("infoX").Value = 1997
Supprimer une propriété personnalisée
Code:ThisWorkbook.CustomDocumentProperties("infoX").Delete
Pour supprimer la collection de propriétés personnalisées, utilise.
Code:
1
2
3
4
5
6
7 Sub SupprimeCollection_ProprietesPersonnalisees() Dim Cst As DocumentProperty For Each Cst In ThisWorkbook.CustomDocumentProperties Cst.Delete Next Cst End Sub
bonne soirée
michel
Trop facile! Moi j'aurais conseillé d'enregistrer une macro et de voir le résultat, de consulter l'aide pour les mots-clés qui semble faire le travail...
C'est pas de la mauvaise volonté, juste qu'on se souviens mieux de ce qu'on a un peu (ou beaucoup) cherché.
[Edit] et puis, il y a peut-être une question de versions. Je ne me souviens plus (ma mémoire étant ce qu'elle est) si les propriétés d'un classeur d'Excel 97 (pour ne nommer que celui-là) étaient ou non personnalisables.
:D Un tout tout grand merci.
C'est super, clair et net.
Merci SilkyRoad :king: ,
Philippe