1. #1
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut Sauvegarde d'un fichier Excel obtenu par extraction via SAP

    Mon problème est le suivant :
    - Je voudrais enregistrer sous un fichier Excel que j'obtiens en faisant une extraction depuis SAP.

    Voici mon le bout de code qui doit faire sa :

    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
     
     
    Set WSHShell = CreateObject("WScript.Shell") 
    WSHShell.Run "wscript c:\user\U538819\VBS\Reception.vbs"
     
    WScript.Sleep 10000
     
    Dim chemin 'As String
    Dim fichier 'As String
    Dim jour
     
    chemin = "c:\user\U538819\"
     
    jour = Day(Now) & "/"& Month(Now) & "/" & Year(Now) & "_" & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)
    fichier = "Reception_" & jour  & ".xls"
     
     
    ActiveWorkbook.SaveCopyAs chemin & fichier
     
    save.hide
     
    MsgBox "Save faite !"
    Si quelqu'un pouvais m'indiquer mes erreurs et les solutions à mettre en place.
    Merci.


    Edit:

    Voici l'erreur que sa produit;

    Nom : err.PNG
Affichages : 54
Taille : 9,1 Ko

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    février 2006
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 1 157
    Points : 3 049
    Points
    3 049

    Par défaut

    bonjour,

    en début de script ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set appExcel = CreateObject("Excel.Application")
    ensuite remplacer la ligne 18 par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appExcel.ActiveWorkbook.SaveCopyAs chemin & fichier
    devrait fonctionner... (pas testé)
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut

    Je viens d’essayer et ça ne fonctionne toujours pas voici l'erreur qu'il m'affiche.

    Elle est identique à la précédente:

    Nom : err2.PNG
Affichages : 52
Taille : 9,0 Ko

    Le problème vient de ActiveWorkbook

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : novembre 2011
    Messages : 148
    Points : 269
    Points
    269

    Par défaut

    Bonjour,

    A première vue tu souhaites enregistrer un fichier avec un nom du type : "Reception_28/3/2018_14:16:4.xls"
    Essai déjà sans les / ni les :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = Day(Now) & "."& Month(Now) & "." & Year(Now) & "_" & Hour(Now) & "h" & Minute(Now) & "mn" & Second(Now)
    Par exemple ...
    ++

  5. #5
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut

    Oui malheuresement le probleme ne vient pas de là j'ai fais les essais mais toujours la même erreur avec le ActiveWorkbook

  6. #6
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : novembre 2011
    Messages : 148
    Points : 269
    Points
    269

    Par défaut

    Re,

    A vrai dire je ne sais pas trop ce que tu essayes de faire.
    Néanmoins, voici comment générer et enregistrer un fichier Excel au format que tu souhaites :

    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
     
    Set WSHShell = CreateObject("WScript.Shell") 
    Set appExcel = CreateObject("Excel.Application")
    WSHShell.Run "wscript c:\user\U538819\VBS\Reception.vbs"
    WScript.Sleep 10000
     
    Dim chemin, fichier, jour
     
    chemin = "c:\user\U538819\"
    jour = Day(Now) & "."& Month(Now) & "." & Year(Now) & "_" & Hour(Now) & "h" & Minute(Now) & "mn" & Second(Now)
    fichier = "Reception_" & jour  & ".xls"
     
    'appExcel.Visible = True
     
    Set objWorkbook = appExcel.Workbooks.Add()
    objWorkbook.SaveAs(chemin&fichier)
     
    appExcel.quit
     
    MsgBox "Save faite !"
    ++

  7. #7
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut

    Cette méthode fonctionne bien mais c'est pas le résultat que je cherche à avoir enfaite.
    Mon script fait une extraction de données depuis l'erp de mon entreprise, une fois l'extraction terminé j'exporte le contenu en Excel. Cela me génère un Excel temporaire le temps que je l'enregitre.
    Ce que moi je voudrais c'est de recuperer cette fenetre Excel géneré et de l'enregistrer.

  8. #8
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : novembre 2011
    Messages : 148
    Points : 269
    Points
    269

    Par défaut

    Salut !
    Je pourrais t'aider en VBA, mais pas en VBS (à cause de la notion d'ActiveWorkBook).
    Est-ce qu'une macro Excel te conviendrait ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut

    J'ai pu résoudre mon problème merci.

    Mais toutefois maintenant je suis en train de faire des recherches pour mettre en place une macro.
    J'aurais voulu savoir, puis je créer une macro excel sur plusieurs excel d'un même dossier avec le bouton associé (chaque fichier on la même trame c'est juste les donnée qui change) ??

    Et deuxième question je voudrais filtrer des donnée spécifique dans une colonne ( par exemple une colonne produit; je voudrais filtrer tout les produit ayant le nom vélo et voiture ) et les placés tout en bas dans mon Excel serais ce possible ??

    Merci.

    Motif de l'édit:
    Pour la suite, nouvelle discussion [XL-2016] Filtre et tri d'une colonne dans le forum Macros et VBA Excel.

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2013
    Messages
    9 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 9 487
    Points : 19 019
    Points
    19 019

    Par défaut

    Bonjour !

    Citation Envoyé par Cachlab Voir le message
    Je pourrais t'aider en VBA, mais pas en VBS (à cause de la notion d'ActiveWorkBook).
    Comme Excel peut se piloter en VBScript, ce n'est pas un souci !

    Tout dépend déjà d'où doit se situer le code, au sein d'un classeur ou initié en VBScript …
    En VBA, voir déjà les discussions similaires dans le forum approprié.

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    . . . . . Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !

  11. #11
    Membre à l'essai
    Homme Profil pro
    Stagiaire Informatique
    Inscrit en
    mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Stagiaire Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2018
    Messages : 69
    Points : 24
    Points
    24

    Par défaut

    Bonjour,

    Il me reste un tout petit soucis a corriger dans mon code. Tout marche parfaitement sa sauvegarde nickel.
    Le petit problème maintenant c'est qu'il me faut les sauvegarder en .xlsm mais une fois rentré en dur dans le code et lancé cela m'affiche une erreur. J'ai fait quelque recherche me disant qu'il fallait directement choisir le type de fichier quand on enregistre le fichier.
    Savez vous s'il est possible de sauvegarder un fichier Excel avec l'extension .xlsm à partir de mon scprit VBS ?

    Voici ma méthode d'enregistrement pour l'instant:

    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
     
    Set WSHShell = CreateObject("WScript.Shell") 
    WSHShell.Run "wscript c:\user\U538819\VBS\Reception.vbs"
     
    chemin1 = "c:\user\U538819\Reception\"
     
    jour = Day(Now) & "_"& Month(Now) & "_" & Year(Now) & "_" & Hour(Now) & "h" & Minute(Now) & "mn" & Second(Now) &"s"
    fichierR = "Reception_" & jour  & ".xlsx"
     
    'Set objWorkbook = appExcel.Workbooks.Add()
     
    WScript.Sleep 25000
    Set appExcel = getObject(, "Excel.Application")
    appExcel.ActiveWorkbook.SaveAs(chemin1 & fichierR)
     
    appExcel.quit
    Merci.

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/01/2008, 13h02
  2. Recuperer chemin de sauvegarde d'un fichier excel
    Par Tierisa dans le forum Access
    Réponses: 2
    Dernier message: 16/10/2006, 12h57
  3. Réponses: 2
    Dernier message: 07/09/2006, 12h41
  4. sauvegarde d'un fichier excel csv sous le format xls
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/08/2006, 11h30
  5. Réponses: 2
    Dernier message: 18/02/2006, 18h07

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