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 :

VBA FSO Comment utiliser l'astérisque avec NAME de File


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut VBA FSO Comment utiliser l'astérisque avec NAME de File
    Bonjour,

    Mon sub fonctionne bien, il me restitue tous les fichiers du répertoire.

    Mais je souhaite n'avoir que ceux contenant "journalier". J'utilise donc l'astérisque "*", mais là il ne me restitue plus rien.
    A moins que ce ne soit mon
    If ....Then
    End if
    qui ne va pas.

    Est ce que qqu'un à une piste ?


    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
     
    Sub AfficherListeDossiers()
        Dim fs, f, f1, fc, s
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFolder("K:\Mondossier")
        Set fc = f.Files
     
            For Each f1 In fc
            If f1.Name = ("journalier*.txt") Then
                s = s & f1.Name
                s = s & vbCrLf
            End If
            Next
     
            MsgBox s
     
    End Sub
    Merci, bonsoir.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    encore ce lourdaud de FSO pour ce que VB fait parfaitement !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command1_Click()
     filtre = "journalier*.txt"
     fichiers = Dir("K:\Mondossier\" & filtre)
     Do While fichiers <> ""
      MsgBox fichiers
      fichiers = Dir
     Loop
    End Sub
    Enfin.... fais comme tu veux ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Creer un répertoire dédié
    Bonsoir,
    En fait les fichiers sont générer depuis une autre application.
    Une solution simple serait de créer un répertoire dédié ne contenant que les fichiers que je souhaite traiter.

    Mais je préfère chercher à utiliser l'astérisque

    Merci

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Mais je l'utilise, cet * !!! (dans filtre) ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Merci ucfoutu
    Bonsoir ucfoutu,
    Merci de ta réponse, c'est vrai que ça à l'air simple,
    je vais essayer.

    Mais dans ce cas pourquoi ton astérisque fonctionne et pas le mien ?

    A+
    BN

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Je n'en sais rigoureusement rien pour une raison simple : on me pendra le jour où je me prostituerai avec cet FSO qui alourdit tout et rend les applications inutilement dépendantes !!!

  7. #7
    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
    Par défaut
    Peut-être qqch comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If f1.Name Like "journalier*.txt" Then

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut VBA FSO utilisation de l'asterisque avec LIKE et import de fichier TXT
    VBA FSO utilisation de l'asterisque avec LIKE
    Bonjour,
    Merci KIKI29, c'est bien ce qui me fallait.

    Ma fonction affiche maintenant tous les fichiers *export_ind_journalier* d'un répertoire donné.
    Puis les importe dans des feuilles ( 1 par fichier )
    Le délimiteur utilisé est le TAB


    Merci encore à tous ceux qui participent.

    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
    Sub AfficherListeDossiers()
        Dim fs, f, f1, fc, s
        Dim strCheminRep As String, strCheminFich As String
        strCheminRep = "nom dossier"
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFolder(strCheminRep)
        Set fc = f.Files
        'Pour ImportFichierTxt
        Dim wbk As Workbook
     
        Set wbk = ActiveWorkbook
     
            For Each f1 In fc
            If f1.Name Like "*export_ind_journalier*.txt" Then
                    'ImportFichierTxt
                    strCheminFich = f1 
                    'Parceque au début je pensait recréer le strCheminFich
                    'MsgBox f1
                    Workbooks.OpenText Filename:=strCheminFich,[/INDENT]Origin:=xlWindows, StartRow:=1, _
                    DataType:=xlDelimited, TextQualifier:= _
                    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,[/INDENT]Semicolon:=True, _
                    Comma:=False, Space:=False, Other:=False,[/INDENT]FieldInfo:=Array(Array(1, 1), _
                    Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1),[/INDENT]Array(7, 1), _
                    Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1))
                    ActiveSheet.Select
                    ActiveSheet.Move Before:=wbk.Sheets(1)
                s = s & f1.Name
                s = s & vbCrLf
            End If
            'MsgBox f1
            Next
     
            MsgBox s
     
    End Sub

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

Discussions similaires

  1. Comment utiliser une dll avec VBA
    Par Nicolas_Aplus dans le forum Général VBA
    Réponses: 2
    Dernier message: 14/05/2013, 17h46
  2. [VBA]comment utiliser des Variables avec Underscore ( _ )
    Par Oceliane dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/04/2007, 17h02
  3. Réponses: 69
    Dernier message: 15/06/2006, 11h42
  4. Réponses: 1
    Dernier message: 04/05/2006, 10h45
  5. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24

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