IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[Sources] Ajout de propriétés à votre classeur Excel


Sujet :

Contribuez

  1. #1
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Points : 3 076
    Points
    3 076
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    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

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 150
    Points
    20 150
    Par défaut
    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2013, 21h48
  2. Ajouter une feuille dans classeur excel
    Par sniperpro dans le forum Langage
    Réponses: 10
    Dernier message: 22/02/2013, 19h00
  3. Ajout de propriétés personnalisées sur un classeur
    Par lolo_92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2010, 13h31
  4. Réponses: 4
    Dernier message: 12/12/2006, 13h30
  5. Ajouter une ligne à la fin d'un classeur excel
    Par maketossss dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/11/2005, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo