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 :

fichier vbs pour copier coller fichier excel avec nom dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    dataminer
    Inscrit en
    Juin 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : Juin 2015
    Messages : 39
    Par défaut fichier vbs pour copier coller fichier excel avec nom dynamique
    Bonjour à tous,

    je viens vers vous car j'ai 1 problème simple mais 1 problème quand même. Je précise que je ne connais pas vraiment le langage vba d'où mes difficultés.

    Je souhaite déplacer 1 fichier excel crée par sas chaque matin, dont le nom est dynamique et porte sur la journée de la veille (exemple : "suivi du 12 septembre au 21 septembre 2016" puis "suivi du 12 septembre au 22 septembre 2016" le lendemain, etc. Le problème est que je n'arrive pas à indiquer les valeurs prises par la variable mois selon la date. Il m'indique 1 erreur au niveau des else if. Voici mon fichier texte enregistré en .vbs :

    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
    Set app = CreateObject("Excel.Application")
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    annee=year(date-1)
    mois=month(date-1)
    jour=day(date-1)
     
    if Month(Date-1) = 1 then mois = "janvier"
    else if Month(Date-1) = 2 then mois = "fevrier"
    else if Month(Date-1) = 3 then mois = "mars"
    else if Month(Date-1) = 4 then mois = "avril"
    else if Month(Date-1) = 5 then mois = "mai"
    else if Month(Date-1) = 6 then mois = "juin"
    else if Month(Date-1) = 7 then mois = "juillet"
    else if Month(Date-1) = 8 then mois = "aout"
    else if Month(Date-1) = 9 then mois = "septembre"
    else if Month(Date-1) = 10 then mois = "octobre"
    else if Month(Date-1) = 11 then mois = "novembre"
    else Month(Date-1) = 12 then mois = "decembre"
    End if
     
     
    Set wb =  app.Workbooks.Open("\\192.168.2.5\datamining\Suivi CCX du 12 septembre au "& jour & " " & mois & " " & annee &".xls")
     
    app.DisplayAlerts = False
     
    Dim annee,mois,jour,chemin,nomFichier
     
    chemin="T:\Constructeurs\Data\SUIVI CCX\"
    nomFichier="Suivi CCX du 12 septembre au &jour. &mois. 2016.xls"
     
    wb.SaveAs chemin & nomFichier
     
    wb.Close SaveChanges=True
     
    app.quit
    Je vous remercie de votre aide !!

    Bien cordialement

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    je n'est pas tout regardé mais déjà tu confond une argumentation en string écrite en dur avec un variable string
    pasbon!!!!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomFichier="Suivi CCX du 12 septembre au &jour. &mois. 2016.xls"
    mieux!!!!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomFichier="Suivi CCX du 12 septembre au " & jour  & ". " & mois & ". 2016.xls"
    attention aux espaces !!!!!!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    a y regarder de plus prêt tu es a coté de par tout selon ton énoncé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    annee=year(date-1)
     mois=month(date-1)
     jour=day(date-1)
    sais tu ce que cela donne sur une date ???

    exemple

    01/02/2016
    et bien cela te donnera

    31/01/2014
    car 1-1 pour le jour =le 31 du mois précédant donc dans cet exemple on change d'année a l'inferieur

    tout tes if a quoi bon?????
    tu a en VBS la fonction MonthName
    msgbox monthName("01/05/2016")
    bref replonge dans les cours la parce que c'est pas bon du tout
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre averti
    Homme Profil pro
    dataminer
    Inscrit en
    Juin 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : dataminer

    Informations forums :
    Inscription : Juin 2015
    Messages : 39
    Par défaut
    Bonjour,

    merci d'avoir répondu ! effectivement je ne suis pas bon, car je n'ai jamais eu de cours de vba ! je suis reparti d'un programme .vbs d'une collègue qui est parti mais je ne maitrise pas ce langage, d'où mes conneries à répétitions.

    Pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    annee=year(date-1)
    mois=month(date-1)
    jour=day(date-1)
    je cherche juste à calculer la date de la veille. En effet j'ai 1 fichier excel qui est créé tous les jours et intitulé "... du 12 septembre au hier moishier annéehier". Donc je mets juste pour le jour, mais pas pour le mois et l'année ?

    Pas besoin des if donc, dans le chemin du fichier je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wb = app.Workbooks.Open("\\192.168.2.5\datamining\Suivi CCX du 12 septembre au "& jour & " " & MonthName(mois) & " " & annee &".xls")
    J'ai essayé et ça marche très bien ! merci à toi !

    Cordialement,

    Axel

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

Discussions similaires

  1. [Toutes versions] Macro pour copier coller un fichier excel
    Par info009 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2014, 23h48
  2. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  3. [OpenOffice][Tableur] PROBLEME pour copier/coller des données avec une légère contrainte
    Par azerty123456789toto dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 26/01/2013, 22h18
  4. [POI]copier/coller fichier Excel
    Par yas2006 dans le forum Documents
    Réponses: 3
    Dernier message: 23/03/2006, 20h16
  5. Probleme avec les fichier faire un copier coller
    Par mcdonald dans le forum Général Python
    Réponses: 4
    Dernier message: 29/01/2006, 13h38

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