Salut,
Je pense qu'il y a 2 erreurs dans ton code:
Si tu as une cellule nommée Title on peut l'appeler Range("Title") en VBA, par contre quand on passe par une variable ou un résultat (pas besoin de guillemets) on utilise Range(propriete.name). La 2 ème comme on ne peut pas nommé de cellule avec une nom contenant des espaces, tu ne peux pas nommer une cellule 'Creation date". Pour cela je te mets en colonne A
les propriétés.
Donc voivi un bout de code en admettant que tu es nommé les cellules correctement:
Sub Propert()
Dim P As DocumentProperty
Dim C As String
Dim T, I As Byte 'a supprimer
ReDim T(I)'a supprimer
For Each P In ActiveWorkbook.BuiltinDocumentProperties
C = SupprEspace(P.Name)
'"""'a supprimer
T(I) = C
I = I + 1
ReDim Preserve T(I)
'""""""""""""
On Error Resume Next
Range(C) = P.Value
If Err <> 0 Then Range(C).ClearContents
Err.Clear
Next P
[A1].Resize(UBound(T)) = Application.Transpose(T)
End Sub
Private Function SupprEspace(Chaine As String) As String
While InStr(Chaine, " ") > 0
Chaine = Replace(Chaine, " ", "")
Wend
SupprEspace = Chaine
End Function
A+++