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

Macros et VBA Excel Discussion :

Modifier les propriété avancé d'un fichier "JPG" [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    passionné Excel et VBA
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : passionné Excel et VBA

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Modifier les propriété avancé d'un fichier "JPG"
    Bonjour à tous

    Je suis nouveau sur ce forum, je me présente je suis un passionné d'Excel et VBA et je l'utilise pour mon plaisir et quelque fois aider un collègue au travail.

    Bref ma question est: Comment modififier les propriété avancé d'un fichier Ex: "JPG" a l'aide d'une macro?

    J'ai trouver ce code pour les lire mais ce que je veut c'est les modifier. Si quelqu'un a la solution elle serait apprécié.

    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
    Sub ListeProprietesFichiers_getDetailsOf()
        'source:
        'http://www.microsoft.com/resources/documentation/windows/2000/server/
        'scriptguide/en-us/sas_fil_lunl.mspx
        '
        'Nécessite d'activer la référence Microsoft Shell Controls and Automation
        '
        Dim objShell As Shell32.Shell
        Dim strFileName As Shell32.FolderItem
        Dim objFolder As Shell32.Folder
        Dim Resultat As String, Reponse As String
        Dim i As Byte
     
        Set objShell = CreateObject("Shell.Application")
        'Répertoire cible
        Set objFolder = objShell.nameSpace("C:\Documents and Settings\michel")
     
        'boucle sur tous les elements du repertoire
        For Each strFileName In objFolder.Items
     
            'Pour que les dosssiers ne soient pas pris en comptes
            If strFileName.isFolder = False Then
            Resultat = ""
                For i = 0 To 34
                    If objFolder.getDetailsOf(strFileName, i) <> "" Then _
                        Resultat = Resultat & objFolder.getDetailsOf(objFolder.Items, i) _
                        & ":  " & objFolder.getDetailsOf(strFileName, i) & vbLf
                Next
            Reponse = MsgBox(Resultat & vbLf & vbLf & "Voulez vous continuer?", vbYesNo)
            If Reponse = vbNo Then Exit Sub
            End If
        Next
    End Sub

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Cela devrait t'aider : http://arkham46.developpez.com/artic...clgdiplusexif/

    Même si ce code a été fait pour Access il y a peut-être des choses utiles.

    Philippe

  4. #4
    Candidat au Club
    Homme Profil pro
    passionné Excel et VBA
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : passionné Excel et VBA

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci Kiki29 pour ton lien c'est là que j'avais pris le code pour récupérer les données mais il ne mentionne pas comment les modifier.

    Philippe dans ton lien le code semble intéressant mais j'ai un problème de définition des variable lorsque je l'exécute et j'ai aucune idée des définition de variable qui serais équivalent.

    peut-être qu'il y a une référence à activer ou un complément à installer pour qu'Excel reconnaisse ce type de variable?

    Merci à vous deux pour votre aide elle est apprécié et je sens qu'on approche du but.

    Ce lien semble intéressant http://silkyroad.developpez.com/VBA/...ition/#LII-B-2 mais la macro plante toujours "Type défini par l'utilisateur non défini." je ne sais pas si il me manque quelque chose pour que tout fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Img As ImageFile
    Dim IP As ImageProcess
    Dim v As Vector

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272

  6. #6
    Candidat au Club
    Homme Profil pro
    passionné Excel et VBA
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : passionné Excel et VBA

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci kiki29 J'ai Téléchargez la librairie sur ton lien http://silkyroad.developpez.com/VBA/...cquisition/#LIethttp://www.microsoft.com/download/en...ng=en&id=18287et j'ai trouver une macro qui fonctionne merci à tous pour votre aide.
    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
    Sub creation_TAG_TITRE_copieImage()
    'Source:
    'http://silkyroad.developpez.com/VBA/WindowsImageAcquisition/
        Dim Img As ImageFile
        Dim IP As ImageProcess
        Dim v As Vector
        Dim i As Integer
     
        'Création conteneur pour l'image à manipuler
        Set Img = CreateObject("WIA.imageFile")
     
        'creation du gestionnaire de filtre
        Set IP = CreateObject("WIA.imageProcess")
     
        'création d'un vecteur
        '(Un vecteur permet de créer une collection pour des valeurs du même type.)
        Set v = CreateObject("WIA.Vector")
     
        'chargement de l'image
        Img.LoadFile "C:\Img\test.JPG"
     
        'définit le filtre pour gérer l'EXIF
        IP.Filters.Add IP.FilterInfos("Exif").FilterID
        IP.Filters(1).Properties("ID") = 40091
            '40091  Titre
            '40092  Commentaire
            '40093  Auteur
            '40094  Mots clés
            'spécifie le type de valeur pour le propriété du filtre:
            'constante VectorOfBytesImagePropertyType = 1101 (la valeur est un vecteur)
            IP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType
            'voir le fichier d'aide fourni avec la librairie WIA pour
            'obtenir la liste des constantes disponibles
     
        'stocke une chaine de caractères dans le vecteur
        v.SetFromString "Test de TAG 'TITRE' : utilisation de WIA v2.0"
     
        'applique au filtre le contenu du vecteur
        IP.Filters(1).Properties("Value") = v
     
        'application du filtre dans l'image
        Set Img = IP.Apply(Img)
     
        'sauvegarde de l'image
        Img.SaveFile "C:\Img\Test_EXIF.JPG"
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/11/2015, 00h01
  2. Ajouter ou modifier les propriétés (tags) d'un fichier MP3
    Par Humanisto dans le forum Général VBA
    Réponses: 3
    Dernier message: 29/04/2014, 21h59
  3. [Toutes versions] Comment écrire les propriétés avancées d'un fichier quelconque?
    Par nehoc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/04/2010, 20h22

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