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

VBScript Discussion :

valeur d'une variable dans un nom de fichier


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 26
    Points
    26
    Par défaut valeur d'une variable dans un nom de fichier
    Bonjour,
    Je voudrais utiliser la valeur d'une variable (qui est le résultat d'un inputbox) dans un nom de fichier:
    voilà l'essentiel du sujet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Demander_mois = "Saisir le numéro du mois (par exp : 06)"
    Mois = inputBox(Demander_mois, "Mois")
    ...

    et après je veux utiliser un fichier qui aura le format suivant : Fichier.201006.txt
    comme le mois change, je veux insérer la variable "Mois" dans le nom du fichier que j'appelle ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;Fichier.201006.txt"
    Si je mets simplement Fichier.Mois.txt ça va pas marcher. j'ai essayé de mettre un $ ou & avant le nom de la variable mais ça n'a pas l'air de marcher non plus.

    Merci pour votre aide.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Pour concaténer une chaine de caractère utilise : &

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim stNomFichier 
     
    stNomFichier = "Fichier." & Mois & ".txt"
     
    'Affichage temporaire pour vérifier..
    msgbox stNomFichier

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 26
    Points
    26
    Par défaut valeur d'une variable dans un nom de fichier
    Merci.
    effectivemment stNomFichier a bien comme valeur le bon nom du fichier (vérifié avec le msgBox). par contre j'arrive toujours pas à récupérer mon fichier !
    j'ai bien vérifié qu'il est dans le répertoire
    je mets un peu plus de code pour plus de clarté :

    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
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hWnd As Long, ByVal lpOperation As String, _
        ByVal lpFile As String, ByVal lpParameters As String, _
        ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
     
    Sub Seuil()
    '
    ' Seuil Macro
    '
     
    ' récupération des fichiers de données
    Dim Recup
      Recup = "p:\document\Scripts\Recup_sources\Recup.vbs"
      ShellExecute 0, "open", Recup, "", "", 1
     
     
     
    MsgBox "Tous les fichiers source sont récupérés"
     
     
     
     
    Demander_Mois = "Saisir le numéro du mois souhaité (par exp 06)"
    Mois = InputBox(Demander_Mois, "Mois")
     
    Dim stNomFichier
      stNomFichier = "Fichier.2010" & Mois & ".txt"
     
    'Affichage temporaire pour vérifier..
    MsgBox stNomFichier
     
     
        ActiveWindow.Visible = False
        Windows("Rapport.xlsm").Activate
        Sheets("Seuil").Select
        Range("A1:G5000").Select
        Selection.ClearContents
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;stNomFichier" _
            , Destination:=Range("$A$2"))
            .Name = "Seuil"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
     
            End With
    End Sub

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut



    on est dans le forum VBScript ...!!

    tu ne peu effectuer un appel à une librairie de cette manière !

    quel est ton environnement de développement?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Je me suis peut être trompé en mettant mon message dans cette rubrique !
    en fait, ce code fait partie d'une macro excel qui récupère des fichier de log d'un serveur, et produit des données de synthèse.
    Je croyais que c'était juste une question de syntaxe qui pose problème.

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    si tu veux utiliser la "valeur" contenue dans une variable chaine et pas son nom il faut sortir la variable des " ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & stNomFichier

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 26
    Points
    26
    Par défaut valeur d'une variable dans un nom de fichier
    Merci bcp, ça marche nikel mnt

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Juste pour une petite info, cette syntaxe marche seulement avec Excel 2007, si on exécute la macro avec une version ancienne ça ne marche plus.

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

Discussions similaires

  1. [Batch] Utiliser une variable dans un nom de fichier
    Par ted the Ors dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/07/2013, 16h28
  2. Réponses: 12
    Dernier message: 30/05/2012, 17h48
  3. [XL-2003] Inserer une variable dans un nom de fichier Excel
    Par Zertozerto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2011, 11h35
  4. Valeur d'une variable dans une Session
    Par sysinfo33 dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/06/2006, 11h53
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h48

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