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 :

Equivalent de "*" de batch en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut Equivalent de "*" de batch en VBA
    Bonjour tout le monde,

    J'aimerai savoir équivalent de "*" de langage batch en VBA. Par exemple en batch on peut faire C:\Documents and Settings\ad\Abroad\*.txt mais en VBA je ne sais pas ce que c'est "*" ?

    Merci d'avance

  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
    Par défaut
    Bonjour,

    en VBA (et aussi en VB tout court), c'est un caractère générique (un "joker", quoi...) , utilisé principalement avec la fonction Dir (à voir dans ton aide en ligne), mais également avec l'opérateur Like (à voir aussi dans ton aide en ligne) ou enfin (plus généralement) avec toute utrilisation de filtre (avec un CommonDialog, par exemple).

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ça dépend de l'utilisation que tu veux en faire : Pour dir, c'est la même chose NFich = Dir("d:\txt\*.txt")
    Pour kill, "*.*" ne fonctionne pas
    Donne l'utilisation que tu veux en faire

    (Erreur corrigée grâce à la gracieuse intervention d'ucfoutu)

  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
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Pour kill, ça ne fonctionne pas
    Bonjour, Ousk ...
    AH ?
    et en cherchant au Sud, non plus ?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Autant pour moi, c'est kill "*.*" qui ne fonctionne pas

    Un exemple ici avec kill...
    Depuis le 20/08/2008, j'ai un bit dans la chose qui me sert de mémoire qu'a sauté depuis

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Merci tout le monde,
    en fait je voudrais iporter des fichiers textes qui s'appelent "chemin & "\Abroad\count-ressource_SP-" & u & "-055000.txt"" ou il j'ai ajouter une variable u maintennat j'aimerai importer tout le fichiers txt qui s'appelent chemin & "\Abroad\count-ressource_SP-" & u & *.txt"". c'est pour cela que je vous ai demander de m'aider.
    j'ai déjà utilisé la fonction "dir" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Dir(chemin & "\Abroad\count-ressource_SP-" & u & "-055000.txt") = "" Then
        GoTo fin
        Else
        End If
    c'est pour voir si le fichier existe ou pas

    Mais comment je dois utiliser "dir" :
    je fait comme ca ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Dir(chemin & "\Abroad\count-ressource_SP-" & u & "-*.txt")
    Merci encore

  7. #7
    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
    Par défaut
    Citation Envoyé par irouni Voir le message
    je fait comme ca ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Dir(chemin & "\Abroad\count-ressource_SP-" & u & "-*.txt")

    Ben...
    As-tu essayé ? Et su oui : quel résultat ?

    Sans préjudice du code (que l'on ne voit pas) de ta clause Else et sans préjudice, non plus de l'existence éventuelle de Fichiers en attribut VbHidden ...

    Je te signale à tout hasard que l'exemple donné dans ton aide en ligne, sur ta machine, pour l'utilisation de la fonction Dir correspond pile-poil à ce que tu cherches à faire ! (parcours tant que ...)

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    oui j'ai déjà essayé et il me met erreur d'execution '1004'


    Voici mon 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
    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
    Sub AV()
     
    Worksheets("A&V").Activate
    chemin = ThisWorkbook.Path
     
    Dim Adr As String
    Dim année As Long
    Dim mois
    Dim u As Long
     
    ' cette macro sert à importer et à ranger les données du serveur selon la date donnée
    For i = (Date - 50) To Date
     
    Worksheets("A&V").Cells(257, "U") = i
    Worksheets("A&V").Cells(254, "U") = Worksheets("A&V").Cells(253, "U") & Worksheets("A&V").Cells(255, "U") & Worksheets("A&V").Cells(252, "U")
    u = Worksheets("A&V").Cells(254, "U")
     
    ' on s'occupe de l'endroit dont les fichiers doivent être récupperés
    Adr = chemin & "\Abroad\count-ressource_SP-" & u &
     
        Fich=Dir(Adr & "*.txt") 
        If Fich = "" Then
        GoTo fin
        Else
        End If
     
    ' on s'occupe de l'importation du fichier texte
        With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Fich, _
        Destination:=Range("W1"))
     
            .Name = "count-ressource_SP"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = -536
            .TextFileStartRow = 6
            .TextFileParseType = xlFixedWidth
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
            .TextFileFixedColumnWidths = Array(26, 2, 2, 16, 10)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
     
    fin:
     
    Columns("V:AX").Select
        Selection.ClearContents
     
    Next i
     
    Worksheets("A&V").Cells(1, 1).Select
     
    End Sub
    .
    .
    .
    etc

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,
    cette instruction est fausse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Adr = chemin & "\Abroad\count-ressource_SP-" & u &
    il faut enlever le dernier &.

    mais tu ne dis pas sur quelle instruction tu reçois ce code d'erreur 1004 !!

    Autrechose,

    ici le else est inutile car vide (mais bon cela n'est pas une erreur).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If Fich = "" Then
    GoTo fin
    Else
    End If

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Merci de votre réponse,
    cette instruction est fausse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Adr = chemin & "\Abroad\count-ressource_SP-" & u &
    oui en effet je l'ai corrigé
    Bon j'ai fais quelques tentatives et maintenant "*" marche bien mais dès quil arrive à la ligne "end with" pour cloturer l'importation il me met erreur d'execution!
    vous savez pk il fait ca ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/07/2006, 16h14

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