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 :

Commande pour extraire largeur et hauteur de trame d'un fichier video .avi


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Commande pour extraire largeur et hauteur de trame d'un fichier video .avi
    Bonjour à toutes et tous,

    J’espère être dans la bonne section pour poser ma question.

    Je suis débutant est je réalise ma première macro pour moi même mais je suis bloqué depuis plus de 3 mois sur une fonction essentielle...
    J'aimerais connaitre la commande / lignes de code sous Visual Basic (EXCEL 2003 mais si besoin je pourrai utiliser plus récent) pour extraire la "largeur de trame" puis la "hauteur de trame" d'un fichier vidéo en .avi
    Est que quelqu'un pourrait m'aider SVP???
    J'ai cherché sur internet, j'ai trouvé des trucs mais rien n'a fonctionné jusqu'à présent... Je ne sais pas si c'est un pb de librairie ou autre, je suis peut être dépassé...
    Je fais donc appel à vos compétences, SVP SVP SVP

    Actuellement j'utilise ça mais ça n'a pas l'air de marcher: objFolder.GetDetailsOf(objFolderItem
    Ci-dessous mon code pour récupérer les infos brutes qui m’intéressent dans les propriétés des fichiers vidéos mais la "largeur de trame" et la "hauteur de trame" n'apparaissent pas.
    Merci d'avance de 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Dim Chemin As String
     
    Function Attribut_Fichier(Fichier As String, index As Integer)
    Dim objShell As Object, objFolder As Object
    Dim objFolderItem As Object, A As Integer
    Dim Folder As Variant
     
    Folder = Chemin
     
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(Folder)
     
        If Not objFolder Is Nothing Then
        Set objFolderItem = objFolder.ParseName(Fichier)
            If Not objFolderItem Is Nothing Then
            With Worksheets("Feuil1")
     
            Cells(index, 1).Value = Fichier
     
                For A = 1 To 255
                Cells(index, A + 1).Value = objFolder.GetDetailsOf(objFolderItem, A)
                Next
     
                End With
            End If
            Set objFolderItem = Nothing
        End If
     
        Set objFolder = Nothing
        Set objShell = Nothing
    End Function
     
    Sub Recup()
        Dim Tbl() As String
        Dim i As Integer
     
        Chemin = Dossier
        Tbl = EnumFichiers(Chemin)
     
        If Not (Not Tbl) Then
             For i = 1 To UBound(Tbl)
                Attribut_Fichier Tbl(i), i
             Next i
        End If
    End Sub
     
    Function EnumFichiers(Chemin As String) As String()
        Dim TableauFichiers() As String
        Dim Fichier As String
        Dim i As Integer
     
        'complète le chemin le cas échéant
        If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
     
        'récupère les fichiers
        Fichier = Dir(Chemin)
     
        'boucle sur les fichiers du dossier
        Do While (Len(Fichier) > 0)
            i = i + 1
     
            ReDim Preserve TableauFichiers(1 To i)
     
            TableauFichiers(i) = Fichier
     
            Fichier = Dir()
        Loop
     
        'retourne le tableau des noms de fichiers
        EnumFichiers = TableauFichiers()
    End Function
     
    Function Dossier() As Variant
       '1 ouvrir un fichier
     
        With Application.FileDialog(4)
            .Show
            On Error Resume Next 'si annuler
            Dossier = .SelectedItems(1)
            If Err.Number <> 0 Then Dossier = False
        End With
    End Function

  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 274
    Points
    11 274
    Par défaut
    Salut, effectivement avec GetDetailsOf tu ne récupèreras que Nom,Taille,Type d’élément,Modifié le,Date de création,Date d’accès et Attributs

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse.
    Quelles lignes de code ou fonction devrais je utiliser pour extraire ces 2 propriétés donc??

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Quelles lignes de code ou fonction devrais je utiliser pour extraire ces 2 propriétés donc??
    le problème est que ce ne sont selon toute évidence pas des "propriétés" (sinon ce serait facile à résoudre), mais des données à extraire du sein-même du fichier (souvent en entête), qu'il est donc nécessaire d'ouvrir, de lire et d'en connaître avec assurance le format et la structure

    A lire, donc :
    https://www.apowersoft.fr/cest-quoi-un-fichier-avi.html
    pour confirmer ce que je dis dans mon message précédent.
    Si tu veux aller plus loin dans ce domaine, plus rien à voir avec VBA, mais tout avec la connaissance de cette structure et de ce format.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  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 274
    Points
    11 274
    Par défaut
    Salut, voir ici, via une adaptation à ton contexte VBA.

  6. #6
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup messieurs pour vos réponses.
    Je vais essayer ce soir ou demain le code fournit et voir si je peux l'exploiter.
    Je vous tiens informer. Merci encore.
    Bonne journée.

Discussions similaires

  1. [Débutant] Commande pour extraire largeur et hauteur de trame d'un fichier video .avi
    Par jojobarteam dans le forum VB.NET
    Réponses: 1
    Dernier message: 22/01/2017, 22h42
  2. Réponses: 0
    Dernier message: 18/08/2016, 14h20
  3. besoin d'aide pour "fixer" largeur et hauteur cellules
    Par crazy100 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 21/08/2007, 16h28
  4. commande pour extraire un champ
    Par waldoun dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 10/05/2007, 15h42
  5. Ligne de commande pour Turbo Pascal?
    Par GeffD dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/02/2004, 12h25

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