Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Contribuez
Contribuez Placez ici vos codes, sources, trucs et astuces que vous souhaitez partager avec les membres du club.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2007, 07h28   #1
Membre chevronné
 
Avatar de cavo789
 
Homme Christophe Avonture
Développeur Web
Inscription : mai 2004
Messages : 649
Détails du profil
Informations personnelles :
Nom : Homme Christophe Avonture
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2004
Messages : 649
Points : 774
Points : 774
Par défaut [Sources] Ajout de propriétés à votre classeur Excel

Le code ci-dessous ajoute une propriété dans la fenêtre File - Properties - Custom. J'ai opté pour une donnée de type texte mais il est aussi possible d'avoir une donnée de type booléenne, numérique ou date.

A quoi cela sert ?

Je m'en sers pour inscrire p.e. une date de mise-à-jour de mon fichier : mon fichier est généré par un code VBA MSAccess et j'inscris la date de mise-à-jour dans les propriétés du fichier.

Je m'en sers aussi pour inscrire une valeur booléenne afin d'indiquer à une de mes macros Excel si oui ou non telle action peut être accomplie sur le fichier.

Cette possibilité d'ajout de champs permet donc à deux macros de s'échanger des données

Remarque : le code ci-dessous est un code VB6; il convient d'ajouter une référence vers Excel. Il est évidemment possible de le convertir en VBA Excel à condition de changer deux ou trois petites choses.

Christophe

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
' --------------------------------------------------------------------------------------------------------------
'
' Add a custom property to an existing Excel file.   The list of properties can be found in the File - Custom
' menu of Excel
'
' --------------------------------------------------------------------------------------------------------------
 
Public Sub AddCustomDocumentProperties(ByVal sXLSFileName As String, ByVal sCustomDocumentProperty As String, ByVal vValue As Variant)
 
Const msoPropertyTypeText = 4
 
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
 
   Set xlApp = CreateObject("Excel.Application")
 
   With xlApp
 
      ' Be sure that Excel is ready
 
      Do While Not .Ready:  DoEvents:  Loop
 
      Set xlBook = .Workbooks.Open(FileName:=sXLSFileName, ReadOnly:=False, AddToMRU:=False)
 
      On Error Resume Next
 
      xlBook.CustomDocumentProperties(sCustomDocumentProperty).Value = vValue
 
      If Err.Number <> 0 Then
         xlBook.CustomDocumentProperties.Add Name:=sCustomDocumentProperty, LinkToContent:=False, Value:=vValue, _
            Type:=msoPropertyTypeText
 
      End If
 
      On Error GoTo 0
 
      xlBook.Close SaveChanges:=acSaveYes
 
      Set xlBook = Nothing
 
   End With
 
   xlApp.Quit
 
   Set xlApp = Nothing
 
End Sub
cavo789 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 07h38   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 924
Points : 30 924
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Citation:
Envoyé par cavo789
Remarque : le code ci-dessous est un code VB6; il convient d'ajouter une référence vers Excel. Il est évidemment possible de le convertir en VBA Excel à condition de changer deux ou trois petites choses.

Christophe
Bonjour, il serait souhaitable que tu mettes ton code avec une compatibilité 100 % Excel, si tu penses qu'il y'a des modifs à faire, il faudrait faire celles-ci.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 08h28   #3
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

Merci pour ta contribution. Néanmoins, cette information existe déja dans la FAQ

http://excel.developpez.com/faq/?pag...ProprietePerso



bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h26.


 
 
 
 
Partenaires

Hébergement Web