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 :

ouvrir un fichier dont le nom change chaque jour avec insertion date


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2017
    Messages : 5
    Par défaut ouvrir un fichier dont le nom change chaque jour avec insertion date
    Bonjour,

    Je cherche à faire un script vbs pour ouvrir et enregistrer un fichier Excel quotidiennement dont le nom change chaque jour car il intègre la date.
    Nom du fichier : test_17_03_2019.xls puis test_18_03_2019.xls etc...

    Je code le façon suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set Wk = oXL.workbooks.open("C:"test" & Format(Date, "dd_mm_yyyy") & ".xls")
    Cela bloque sur le nom du fichier

    Quelqu'un aurait-il le bon codage pour la partie JJ_MM_AAA ?.

    Je vous en remercie par avance

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Tu peux t'inspirer de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function RetourNameFichier(LaDate)
    dim j,m
    j = day(LaDate)
    if j<10 then j = "0" & j
    m = month(LaDate)
    if m<10 then m = "0" & m
    RetourNameFichier = "test_" & j & "_" & m & "_" & year(LaDate) & ".xls"
    end function
     
     
    'appel de la fonction
    nomfichier = RetourNameFichier(now)
    msgbox nomfichier
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2017
    Messages : 5
    Par défaut
    Bonjour ProgElecT,

    Merci pour ce retour qui a un peu amélioré les choses car maintenant, je vois l'année s'afficher si je met Date à la place de Ladate.
    en revanche, je n'ai pas le jour ni le mois.

    Windows me dit :
    Désolé, nous ne trouvons pas test___2019.xls

    J'avais codé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function RetourNameFichier(Date)
    dim j,m
    d = day(Date)
    if j<10 then j = "0" & j
    m = month(Date)
    if m<10 then m = "0" & m
     
    end function
     
    set Wk = oXL.workbooks.open("C:\test_" & d & "_" & m & "_" & year(Date) & ".xls")
    Merci d'avance

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2017
    Messages : 5
    Par défaut
    Juste un point, j'ai mis j partout et non d comme sur mon post précédent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function RetourNameFichier(Date)
    dim j,m
    j = day(Date)
    if j<10 then j = "0" & j
    m = month(Date)
    if m<10 then m = "0" & m
     
    end function
     
    set Wk = oXL.workbooks.open("test_" & j & "_" & m & "_" & year(Date) & ".xls")

  5. #5
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    N'oublies pas les balises [CODE] ICI TON CODE [/CODE] quand tu postes du code.

    Revenons à nos moutons


    Pour éviter toutes confusions, toutes les variables utilisées doivent être nommées autrement que les mots réservés du langage, on ne nomme pas une variable date mais par exemple madate.
    function RetourNameFichier(date)
    function RetourNameFichier(LaDate)

    Pour que la fonction renvoie une information, il faut donner cette information au nom de la fonctionRetourNameFichier = "test_" & j & "_" & m & "_" & year(LaDate) & ".xls" juste avant la fin de celle-ci

    A chaque fois que tu veux construire un nom de fichier tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'appel de la fonction
    nomfichier = RetourNameFichier(now)
    nomfichier sera composé de test_(n° jour du mois)_(n°du mois)_(Année).xls, pourquoi, car now est égal à la date et heure du moment, soit test_18_03_2019.xls

    Si tu appels la fonction de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomfichier = RetourNameFichier(#13/04/1956#)
    nomfichier sera égal à test_13_04_1956.xls
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2017
    Messages : 5
    Par défaut
    Rebonjour,

    Je suis désolé, mais je ne comprends pas toutes tes remarques vu mon niveau en programmation (c'est la première fois que j'utilise le Blog)

    Pour être très simple, ci-joint le codage que j'ai repris avec tes conseils mais qui ne marche pas, sûrement car je les applique mal...

    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
     
     
    Dim oXL
    Set oXL = WScript.CreateObject("EXCEL.application")
    oXL.Visible = True
     
    function RetourNameFichier(LaDate)
    dim j,m
    j = day(LaDate)
    if j<10 then j = "0" & j
    m = month(LaDate)
    if m<10 then m = "0" & m
    RetourNameFichier = "test_" & j & "_" & m & "_" & year(LaDate) & ".xls"
    end function
     
    'appel de la fonction
    nomfichier = RetourNameFichier(now)
     
    set Wk = oXL.workbooks.open("C:\Users\manu\Desktop\test_" & j & "_" & m & "_" & year(LaDate) & ".xls")
     
    Wk.save
    wk.close
     
    oxl.quit
     
    Set oXL = Nothing
    Cela ne marche pas, car windows ne trouve pas le document (message idem précédent post).

    Sais-tu où mon codage est défaillant ?

    Merci d'avance pour ton aide avisée

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/09/2017, 11h18
  2. Ouvrir fichier dont le nom change
    Par gangsterus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/05/2016, 06h31
  3. [Batch] Ouvrir un fichier dont le nom est partiellement connu.
    Par TGV6773 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 03/02/2010, 18h24
  4. Réponses: 1
    Dernier message: 22/01/2009, 15h24
  5. [VBA-E]ouvrir un fichier dont le nom est determiné par sa date de création
    Par olivertwist dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/04/2007, 17h29

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