bonsoir
C'est possible dans les autres produits Office, mais je ne trouve pas dans Excel.
Et tu procèdes comment pour les autres produite Office?
normalement ça fonctionne de la même manière.
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
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.
MsgBox ThisWorkbook.CustomDocumentProperties("infoX").Value
Il est aussi possible de boucler sur la collection de propriétés personnalisées:
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
ThisWorkbook.CustomDocumentProperties("infoX").Value = 1997
Supprimer une propriété personnalisée
ThisWorkbook.CustomDocumentProperties("infoX").Delete
Pour supprimer la collection de propriétés personnalisées, utilise.
Sub SupprimeCollection_ProprietesPersonnalisees()
Dim Cst As DocumentProperty
For Each Cst In ThisWorkbook.CustomDocumentProperties
Cst.Delete
Next Cst
End Sub
bonne soirée
michel