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 :

suppression des messages Warning Excel lors de l'exécution d'un vbscript


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut suppression des messages Warning Excel lors de l'exécution d'un vbscript
    Bonjour

    J'ai écrit un script qui me permet de transformer un fichier XLS en VBS (cfr autre discussion sur ce forum). le problème que j'ai maintenant est que pour chaque worksheet que je veux transformer, je reçois le message:

    "Do you want to save the changes you made to my_file.xls"


    Comme le script doit s'exécuter du Week-end, je souhaiterai ne pas avoir ces messages. Quelqu'un peut il me dire si c'est possible?


    Merci

  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 038
    Points
    20 038
    Par défaut
    on peu voir l'instruction qui te permet de quitter excel... pour quitter sans sauver ... mettre application.Saved à true

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    voici le code du script
    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
    Option Explicit
     
    Dim objExcel, strExcelPath, objSheet, intRow, intCol
    Dim objUser
    DIM fso, CSVFile
    Dim str
    Dim csv_path, xls_path
     
    'Bind to Excel object
    On error Resume Next
    Set objExcel = CreateObject("Excel.Application")
    If Err.Number <> 0 Then
       On Error Goto 0
       Wscript.Echo "Excel application not found."
       Wscript.Quit
    End If
    On Error Goto 0 
     
     
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    csv_path = "c:\csv\"
    xls_path = "c:\xls\"
     
     
    '***********************************************************************ok
    strExcelPath = xls_path & "my_file.xls"
     
    Set CSVFile = fso.CreateTextFile(csv_path & "my_file.CSV", True)
     
    'Open specified spreadsheet and select the worksheet.
    objExcel.WorkBooks.Open strExcelPath
    Set objSheet = objExcel.ActiveWorkbook.Worksheets("Actieve Dossiers")
    LOGFile.Writeline("Worksheet: Actieve Dossiers")
     
    ' Iterate through the rows of the spreadsheet after the first, until the
    ' first blank entry in the first column. For each row, bind to the user
    ' specified in the first column and set attributes.
    intRow = 2
     
    Do while objSheet.Cells(intRow, 3).text <> ""
       str = ""
       FOR intCol = 1 to 18
          str = str & outstr(objSheet.Cells(intRow, intCOL).text) & ";"       
       NEXT
       Str = str & "x"
       On Error Resume Next
     
       IF instr (str, "#VALEUR!") = 0 AND instr (str, "#REF!") = 0 AND instr (str, "#NUM!") = 0 AND instr (str, "#NAME?") = 0 THEN
          CSVFile.Writeline(str)
          nbr_rec_ok = nbr_rec_ok + 1      
       END IF
     
       On error Goto 0
     
       intRow = intRow + 1
    Loop
     
    ' Close file
    CSVFile.Close
    ' Close workbook
    objExcel.ActiveWorkBook.Close
    'Clean up
    Set objSheet = Nothing
     
    ' quit Excel
    objExcel.Application.Quit
     
    'Clean up
    Set objExcel = Nothing

  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 038
    Points
    20 038
    Par défaut
    essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    (..)
    ' quit Excel
    objExcel.Application.DisplayAlerts = False 
    objExcel.Application.Quit
     
    (..)
    pour inhiber les messages d'alertes..

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Comme dans ce script j'ai plusieurs workbook d'ouvert, chaque fois qu'un csv est créé je fais un close de l'active workbook mais avant je fais un saved = TRUE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' Close file
    CSVFile.Close
    ' Close workbook 
    objExcel.ActiveWorkBook.saved = TRUE
    objExcel.ActiveWorkBook.Close

    et ça marche très bien, je n'ai plus le message "voulez vous sauvegarder ..."


    Cependant, je reçois un autre message, dans le cas où la feuille Excel contient des liens vers d'autres feuilles Excel:

    the workbook you opened contains automatic links to information in another workbook. Do you want to update this workbook with changes made to other workbook?
    to update all linked information, click Yes
    to keep the existing information, click No
    existe t il une méthode commme saved = true qui permet de ne pas montrer ce message?

    J'ai essayé la méthode DisplayAlerts = False appliqué à objExcel.ActiveWorkBook mais ça ne marche pas

  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 038
    Points
    20 038
    Par défaut
    Citation Envoyé par phil666
    ..J'ai essayé la méthode DisplayAlerts = False appliqué à objExcel.ActiveWorkBook mais ça ne marche pas
    il faut l'appliquer à lobjet excel application...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objExcel.Application.DisplayAlerts = False

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    j'ai testé avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objExcel.Application.DisplayAlerts = False
    mais je reçois toujours le message:

    the workbook you opened contains automatic links to information in another workbook. Do you want to update this workbook with changes made to other workbook?
    to update all linked information, click Yes
    to keep the existing information, click No

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Existe t il quelque chose d'équivalent au VB pour vbscript de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.UpdateLinks = False
    j'ai essayé cette méthode mais je reçois une erreur lors de l'exécution du script. peut être que je l'utilise mal, dans ce cas, quelle est la syntaxe correct?

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    D'instinct, sans avoir testé, je dirais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objExcel.ActiveWorkbook.UpdateLinks = False
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    j'ai déjà essayé ça mais ça ne marche pas

  11. #11
    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 038
    Points
    20 038
    Par défaut
    à priori ton message doit apparaitre à l'ouverture du classeur ... essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    objExcel.WorkBooks.Open strExcelPath, false
    ...

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    ça marche, merci beaucoup

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

Discussions similaires

  1. [OL-2007] Suppression des messages lors de l'envoi
    Par jpetmmd dans le forum Outlook
    Réponses: 1
    Dernier message: 10/11/2011, 17h32
  2. Suppression des messages d'Excel
    Par clavogez dans le forum VBA Access
    Réponses: 5
    Dernier message: 11/04/2008, 10h22
  3. Afficher un message de confirmation avant suppression des messages
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/08/2006, 13h17
  4. suppression des messages
    Par Invité dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 18/04/2006, 14h24

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