FAQ Excel
FAQ ExcelConsultez toutes les FAQ
Nombre d'auteurs : 46, nombre de questions : 845, dernière mise à jour : 30 mars 2022
- Comment lire les propriétés dans le classeur ?
- Comment modifier une propriété prédéfinie ?
- Comment ajouter une propriété personnalisée dans le classeur ?
- Comment lire, modifier ou supprimer les propriétés personnalisées ?
- Comment lire Les propriétés prédéfinies d'un classeur fermé ?
- Comment modifier Les propriétés prédéfinies d'un classeur fermé ?
- Comment ajouter une propriété personnalisée dans un classeur fermé ?
- Comment lire une propriété personnalisée dans un classeur fermé ?
- Comment accéder aux propriétés du classeur dans Excel 2007 ?
- Comment lier le contenu d'une cellule à une propriété personnalisée ?
Les propriétés prédéfinies sont accessibles en utilisant le Menu principal d'Excel: Fichier/Propriétés.
Vous pouvez consulter (ou modifier pour certains d'entre eux) les champs contenus dans les différents onglets.
* Général
* Résumé
* Statistiques
* Contenu
* Personnalisation
Les propriétés contiennent des informations permettant d'identifier un fichier (Titre descriptif, nom de l'auteur, le sujet et les mots clés qui identifient des rubriques ou d'autres informations importantes dans le fichier). Utilisez les propriétés d'un document pour afficher les informations relatives à un fichier ou organiser vos fichiers de manière à les retrouver facilement par la suite. Vous pouvez également rechercher des documents en fonction de leurs propriétés.
* Les propriétés automatiquement mises à jour comprennent les statistiques qui sont conservées par vos applications Microsoft Office, telles que la taille du fichier et les dates de création et de dernière modification des fichiers.
* Les champs des propriétés prédéfinies (Auteur, Titre, Sujet, Commentaire...) sont des zones de texte libre que vous pouvez compléter manuellement.
* Les propriétés personnalisées sont créés par l'utilisateur. Vous pouvez affecter un texte, une heure ou une valeur numérique aux propriétés personnalisées, ainsi que les valeurs booléennes. Vous pouvez faire un choix dans une liste de noms suggérés ou définir vos propres noms.
Si vous souhaitez afficher automatiquement la boîte de dialogue Propriétés lors
de l'enregistrement des classeurs, afin de compléter les champs d'information :
Menu Outils/Options/Onglet "Général"/Cochez l'option "Afficher la fenêtre des propriétés."
Il est possible de lister par macro les propriétés prédéfinies d'un classeur, en utilisant la propriété BuiltinDocumentProperties.
Cet exemple permet de lister les propriétés du classeur actif dans une feuille de calcul.
Sub
Test
(
)
infosClasseurBuiltinDocumentProperties ActiveWorkbook
End
Sub
Sub
infosClasseurBuiltinDocumentProperties
(
Wb As
Workbook)
Dim
Valeur As
DocumentProperty
Dim
i As
Byte
On
Error
Resume
Next
'Boucle sur la collection de propriétés prédéfinies
For
Each
Valeur In
Wb.BuiltinDocumentProperties
i =
i +
1
'Insère le nom des propriétés dans la colonne A
ThisWorkbook.Worksheets
(
1
).Cells
(
i, 1
) =
Valeur.Name
'Insère le contenu de la propriété dans la colonne B
ThisWorkbook.Worksheets
(
1
).Cells
(
i, 2
) =
Valeur.Value
Next
ThisWorkbook.Worksheets
(
1
).Columns
(
"A:B"
).AutoFit
End
Sub
Un autre exemple pour lire une propriété particulière :
'Récupère le contenu de la propriété "Auteur"
MsgBox
ThisWorkbook.BuiltinDocumentProperties
(
"Author"
).Value
'Il est aussi possible d'appeler la propriété en utilisant l'index de la collection.
'MsgBox ThisWorkbook.BuiltinDocumentProperties(3).Value
Si vous souhaitez modifier les propriétés d'un classeur par macro, utilisez :
'Modifie le champ "Commentaires"
ThisWorkbook.BuiltinDocumentProperties
(
"Comments"
).Value
=
"Nouveau commentaire"
Il est possible d'ajouter une propriété personnalisée par macro.
Les propriétés personnalisées permettent de stocker les informations complémentaires de votre choix. Ces informations sont ensuite accessibles dans l'onglet "Personnalisation".
L'argument Type spécifie le type de données pour la nouvelle propriété. Attention: Vous obtiendrez un message d'erreur (Incompatibilité de type) si vous essayez 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
Cet exemple permet de lire une propriété personnalisée dans le classeur.
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ées dans le classeur
If
ThisWorkbook.CustomDocumentProperties.Count
=
0
Then
Exit
Sub
For
Each
Cp In
ThisWorkbook.CustomDocumentProperties
MsgBox
Cp.Name
&
vbLf
&
Cp.Value
Next
Cp
End
Sub
La procédure ci dessous permet de modifier une propriété personnalisee :
ThisWorkbook.CustomDocumentProperties
(
"infoX"
).Value
=
1997
La macro suivante supprime une propriété personnalisée :
ThisWorkbook.CustomDocumentProperties
(
"infoX"
).Delete
Pour supprimer la collection de propriétés personnalisées, utilisez :
Sub
SupprimeCollection_ProprietesPersonnalisees
(
)
Dim
Cst As
DocumentProperty
For
Each
Cst In
ThisWorkbook.CustomDocumentProperties
Cst.Delete
Next
Cst
End
Sub
Les procédures suivantes utilisent la librairie DSO oleDocument Properties Reader 2.0
Si elle n'est pas installée sur votre poste, vous pouvez la télécharger sur le site
de Microsoft.
La librairie DSO oleDocument Properties Reader 2.0
Cette librairie permet de lire et modifier les propriétés des documents Office (Excel, Word, Powerpoint...) sans les ouvrir.
Sub
LireProprietesClasseur_DSO
(
)
'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'https://support.microsoft.com/
Dim
DSO As
DSOFile.OleDocumentProperties
Set
DSO =
New
DSOFile.OleDocumentProperties
'Attention : Le fichier doit être préalablement fermé !
DSO.Open
sfilename:=
"C:\Documents and Settings\michel\leClasseur.xls"
'
MsgBox
DSO.SummaryProperties.Author
&
vbLf
&
DSO.SummaryProperties.Comments
'
'Les autres propriétés :
'
' ApplicationName ' Author ' ByteCount ' Category ' CharacterCount
' CharacterCountWithSpaces ' Comments ' Company ' DateCreated
' DateLastPrinted ' DateLastSaved ' HiddenSlideCount
' Keywords ' LastSavedBy ' LineCount ' Manager ' MultimediaClipCount
' NoteCount ' PageCount ' ParagraphCount ' PresentationFormat
' RevisionNumber ' SharedDocument ' SlideCount
' Subject ' Template ' Title ' TotalEditTime ' Version ' WordCount
'
DSO.Close
End
Sub
Voici un exemple pour modifier le champ "Commentaires".
Sub
modifierProprietesClasseur_DSO
(
)
'Nécessite d'activer la référence DSO OleDocument Properties Reader 2.0
'https://support.microsoft.com/
Dim
DSO As
DSOFile.OleDocumentProperties
Set
DSO =
New
DSOFile.OleDocumentProperties
'Attention : Le fichier doit être préalablement fermé !
DSO.Open
sfilename:=
"C:\Documents and Settings\michel\leClasseur.xls"
DSO.SummaryProperties.Comments
=
"mon nouveau commentaire"
DSO.Save
DSO.Close
End
Sub
Sub
AjouterProprietePersonnalisee_DSO
(
)
Dim
DSO As
DSOFile.OleDocumentProperties
Set
DSO =
New
DSOFile.OleDocumentProperties
'Attention : Le classeur doit être préalablement fermé !
DSO.Open
sfilename:=
"C:\Documents and Settings\michel\leClasseur.xls"
DSO.CustomProperties.Add
"maProprietePerso"
, "Bonjour"
DSO.Save
DSO.Close
End
Sub
Cet exemple permet de lire la propriété personnalisée nommée maProprietePerso dans un classeur fermé.
La procédure utilise la bibliothèque "DSO oleDocument Properties Reader 2.0".
Si elle n'est pas installée sur ton poste , vous pouvez la télécharger sur le site
de Microsoft.
Sub
LireProprietesPersonnalisees_DSO
(
)
Dim
DSO As
DSOFile.OleDocumentProperties
Set
DSO =
New
DSOFile.OleDocumentProperties
'Attention : Le fichier doit être préalablement fermé !
DSO.Open
sfilename:=
"C:\Documents and Settings\michel\leClasseur.xls"
MsgBox
DSO.CustomProperties.Item
(
"maProprietePerso"
).Value
'Il est aussi possible de lire une propriété en utilisant
'les index de la collection :
'MsgBox DSO.CustomProperties.Item(0).Value
DSO.Close
End
Sub
Cliquez sur le bouton Office.
Menu "Préparer".
Sélectionnez "Propriétés".
Un nouveau panneau s'affiche. Vous pouvez y saisir ou lire quelques propriétés.
Pour afficher la boîte de dialogue identique aux versions précédentes d'Excel et avoir accès à tous les types
de propriétés, cliquez sur "Propriétés du document" dans l'angle supérieur gauche du panneau, et sélectionnez
l'option "Propriétés avancées".
Vous pouvez également afficher ou masquer le panneau de propriétés, par macro :
Sub
AfficherMasquer_PanneauProprietes
(
)
With
Application
If
.DisplayDocumentInformationPanel
=
False
Then
.DisplayDocumentInformationPanel
=
True
Else
.DisplayDocumentInformationPanel
=
False
End
If
End
With
End
Sub
Les cellules contenant les données à afficher dans les propriétés du classeur doivent préalablement être nommées.
Ensuite, utilisez le bouton "Office".
Menu "Préparer".
Sélectionnez l'option "Propriétés".
Cliquez sur le bouton "Propriétés du document", en haut à gauche dans le bandeau qui apparait à l'écran.
Propriétés avancées.
Onglet "Personnalisation".
Spécifiez un nom pour votre propriété (champ "Nom").
Cochez l'option "Cellule liée".
Le champ de saisie "Valeur" devient alors une liste déroulante "Source" qui contient l'ensemble des cellules et
plages nommées du classeur.
Sélectionnez un nom dans la liste déroulante (si vous choisissez une plage nommée, c'est la première cellule de la zone
qui sera prise en compte).
Cliquez sur le bouton "Ajouter" pour valider.
Pour effectuer cette oprération par VBA :
ActiveWorkbook.CustomDocumentProperties.Add
Name:=
"NomPropriete"
, _
LinkToContent:=
True
, LinkSource:=
"NomCellule"
, _
Type
:=
msoPropertyTypeString