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 :

Rechercher un fichier CSV dans répertoire


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Bonjour le forum,

    je souhaite chercher un fichier .csv dans un repertoire avec le code suivant (or ca ne fonctionne pas), pourquoi?
    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
    Public NomFichier As String
    Sub EnregistrementHoraire()
     
    Dim AdresseFichier As String
    Dim Machine As Variant
    Dim H As Variant
    Dim I As Integer
     
    Sheets("Feuil1").Select
     
    For Each Machine In Array("U1", "U2", "U3", "U4", "F2")
    AdresseFichier = Range("B1") & "\" & Machine
        For Each H In Array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23")
            ChercherFichier (H & "30.csv")
     
        Next H
    Next Machine
     
    End Sub
     
    Function ChercherFichier(NomFichier As String) As Boolean
    With Application.FileSearch
            .LookIn = AdresseFichier
            .Filename = NomFichier
            '.FileType = msoFileTypeAllFiles
            .SearchSubFolders = True
            If .Execute Then
                ChercherFichier = True
            Else
                ChercherFichier = False
            End If
    End With
    End Function
    Contenu de la cellule B1 : C:\Documents and Settings\aurelien.dupont\My Documents

    Merci d'avance pour votre aide

    Cordialement,

    ADbtr

    J'ai oublié de préciser : mes fichiers portent le nom "HistDataHHMM.csv".

    Exemple : "HistData0530.csv"

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    pourquoi ne pas essayer comme ça plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function ChercherFichier(NomFichier As String) As Boolean
    If Dir(addresseFichier + NomFichier) = "" Then ChercherFichier = False Else ChercherFichier = True
    End Function

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    Les modifications sont précisés en commentaires dans le code
    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
    'Ca il n'y en pas besoin
    'Public NomFichier As String
    Sub EnregistrementHoraire()
     
    Dim AdresseFichier As String
    Dim Machine As Variant
    Dim H As Variant
    Dim I As Integer
    'nouvelle variable pour la réponse au test
    Dim present As Boolean
    Sheets("Feuil1").Select
     
    For Each Machine In Array("U1", "U2", "U3", "U4", "F2")
    AdresseFichier = Range("B1") & "\" & Machine
        For Each H In Array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23")
            'present sera true si la fonction trouve le fichier
            'et il manquait le chemin qui n'était pas envoyé à la fonction
            present = ChercherFichier(H & "30.csv", AdresseFichier)
            'un petit test si tu effectuer une action
            If present Then
              'ce que tu veux faire avec le fichier CSV
            End If
        Next H
    Next Machine
     
    End Sub
     
    ' ajout du repertoire en parametre
    Function ChercherFichier(NomFichier As String, AdresseFichier As String) As Boolean
    With Application.FileSearch
            .LookIn = AdresseFichier
            .Filename = NomFichier
            '.FileType = msoFileTypeAllFiles
            .SearchSubFolders = True
            If .Execute Then
                ChercherFichier = True
            Else
                ChercherFichier = False
            End If
    End With
    End Function

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Parfait zyhack, fonctionne parfaitement, merci à vous

    Bonne journée

    ADbtr

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

Discussions similaires

  1. Extraction fichiers CSV dans un répertoire
    Par nathantahiti dans le forum SSIS
    Réponses: 3
    Dernier message: 11/08/2011, 15h54
  2. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  3. créer un fichier csv dans un répertoire
    Par vodasan dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 10/03/2008, 08h58
  4. [VB6] Fichier csv dans un recordset
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/01/2006, 22h19
  5. Importer un fichier CSV dans un clientdataset ?
    Par mls dans le forum Bases de données
    Réponses: 7
    Dernier message: 15/04/2005, 12h35

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