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 :

Récupérer le nom des fichiers de type JPG dans un dossier [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Récupérer le nom des fichiers de type JPG dans un dossier
    Bonjour,

    J'ai un petit soucis lors de la récupération du nom des fichiers JPEG dans un dossier lors de l’exécution de ma macro sur excel.
    En effet , j'arrive à récupérer le nom du premier fichier mais pour les suivants on me renvoi un chaine de caractère vide.
    J'utilise la fonction Dir() pour m'envoyer le nom des fichiers

    Je débute en vba et je n'arrive pas à comprendre pourquoi, donc je vous demande de l'aide svp
    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DossierFichiers = "D:\Users\Assistante.OPTEORRUN\Photo final\Fiche " & i + 1
                ListeFichiersDans DossierFichiers                                                             ' Permet de compter le nombre de fichier dans le dossier
                DossierFichiers = DossierFichiers & "\"
     
                nf = Dir(DossierFichiers & "*.JPG")
                MsgBox nf
                Do While nf <> ""
                    MsgBox nf
                    InsertPictureInRange DossierFichiers & nf, Range("A22:I22")                        'Permet d'insérer mon image
                    nf = Dir()                                                                                          ' Suivant
     
                Loop

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Tu peux faire un test avec ceci en mettant le bon chemin.
    Ça inscrira les noms de fichiers dans la colonne A de la feuille active.

    NB: ne pas oublier que les JPG peuvent aussi s'écrire JPEG, ce qui n'est pas pareil au niveau de la recherche...

    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
    Sub ExtraireFichiers()
        Dim Chemin As String, Fichier As Variant
        Dim Ligne As Long
     
        Chemin = "Chemin à rechercher"
        If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
     
        Fichier = Dir(Chemin & "*.jpg", vbArchive)
        Do While Fichier <> ""
            Ligne = Ligne + 1
            ActiveSheet.Range("A" & Ligne) = Fichier
     
            Fichier = Dir
        Loop
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut RE
    Merci beaucoup, avec ton code sa fonctionne très bien ...
    Par contre je ne comprend pas pourquoi le mien ne fonctionne pas alors qu'ils sont presque similaire ....
    La seul différence provient du vbArchive que tu as mis en paramètre de la fonction dir("",vbArchive) , qu'est ce que sa change svp ?
    merci encore

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    vbArchive lit les fichiers.
    vbDirectory sert pour les répertoires
    Il y a aussi d'autres paramètres pour les fichiers cachés, systèmes,...

    Je ne sais pas ce que fait cette ligne
    InsertPictureInRange DossierFichiers & nf, Range("A22:I22")
    mais peut-être que ça a de l'influence sur le résultat de ta recherche

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci, ok je comprend mieux pourquoi sa ne fonctionnait pas
    C'est une fonction qui permet d'insérer ma photo sur une feuille excel mais pour l'utiliser je dois avoir le nom de l'image, donc cette fonction n'a pas d'influence (je pense)
    En tout cas merci, c'est gentil
    Bonne journée

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

Discussions similaires

  1. [PHP 5.3] Récupèrer le nom du fichier le plus récent dans un dossier
    Par oOBaalberithOo dans le forum Langage
    Réponses: 3
    Dernier message: 25/02/2010, 15h26
  2. [Débutant] récupérer le nom des fichiers textes vers legend
    Par mygwel dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/03/2009, 23h51
  3. Réponses: 3
    Dernier message: 04/07/2008, 12h07
  4. lire le nom des fichiers qui se trouvent dans un dossier
    Par foufoulol dans le forum Langage
    Réponses: 6
    Dernier message: 05/05/2008, 12h38
  5. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 12/12/2005, 00h19

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