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 :

Ouverture d'Excel en VBS : Défaillance irrémédiable


Sujet :

VBScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Ouverture d'Excel en VBS : Défaillance irrémédiable
    Bonjour,

    A des fins d'automatisation de rapport, je souhaite ouvrir Excel avec un script en VBScript. J'ai fait un premier script très basique qui ouvre Excel et écrit un texte dans une case. Sur mon PC de développement, aucun souci (j'ai Excel 2016). Je le passe ensuite sur le PC sur lequel je compte automatiser mon système (avec Excel 2010) et là : Erreur : Défaillance irrémédiable, Code : 8000FFFF. J'ai cherché plusieurs solutions sur internet. J'ai donc essayé :

    Fichier > Options > Compléments > Dans le menu déroulant, sélectionner « Compléments Excel » et cliquer sur « Atteindre… » > Cocher « Analysis ToolPak » et « Analysis ToolPak – VBA » et décocher le reste

    J'ai aussi essayé de tout décocher.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim xlapp, classeur, feuille 
    Set xlapp = CreateObject("Excel.Application") 
    xlapp.Visible = True 
    Set classeur = xlapp.Workbooks.add 
    Set feuille = xlapp.ActiveSheet 
    feuille.Range("A1") = "Rajout du texte en cellule A1" 
    Classeur.Saveas "C:\Users\FR900-u-codesonar\Desktop" 
    classeur.Close True 'quitte en sauvant 
    xlApp.quit 
    Set classeur = Nothing 
    Set xlapp = Nothing

    Ça ne fonctionne toujours pas. D'après l'invite de commande, le problème vient de la ligne 2. En effet, Excel ne s’exécute même pas. Auriez-vous une idée ?

    Merci de votre aide.

    Johan

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 586
    Points : 34 255
    Points
    34 255
    Par défaut
    Bonjour,

    ton emplacement d'enregistrement n'est pas correct.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classeur.Saveas "C:\Users\FR900-u-codesonar\Desktop"
    Donne un nom a ton classeur, par exemple avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classeur.Saveas "C:\Users\FR900-u-codesonar\Desktop\toto.xlsx"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci de ton aide rapide. Je viens de faire la modification mais malheureusement aucune amélioration. J'ai toujours le même problème. As-tu d'autres pistes ?

    Merci

    Johan

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour !

    Citation Envoyé par Johbarr Voir le message
    Sur mon PC de développement, aucun souci (j'ai Excel 2016). Je le passe ensuite sur le PC sur lequel je compte automatiser mon système (avec Excel 2010) et là : Erreur
    Si c'est exactement le même classeur donc sans aucune modification de donnée ni de code,
    alors cela ne concerne pas ce forum !
    Voir peut-être dans le forum dédié au VBS sinon c'est un problème système …

    Évidemment en cas de modification la présentation initiale a juste servi à nous embrouiller en nous éloignant du problème réel !

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Je n'utilise pas de classeur au départ : j'en créé un. C'est cependant le même script que j'utilise.

    Pour ce qui est de ma présentation initiale, elle n'a pas "servi à [vous] embrouiller", ni à vous éloigner du problème réel mais, au contraire, à vous expliquer clairement ma situation et ne pas vous jeter mon problème sans détail. M'y suis-je mal pris ?

    Merci

    Johan

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Tester déjà le code d'enregistrement directement en VBA depuis l'ordinateur en question …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Le problème ne vient pas de la sauvegarde mais au niveau de l'ouverture de l'application. Excel ne se lance même pas.

    Merci de votre aide.

    Johan

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut

    C'est l'information primordiale devant être indiquée dès la présentation initiale ‼
    Le reste nous ayant bien embrouillé …

    Là ce serait simple :  Excel n'est pas installé ou plus référencé dans la base de registres !
    Donc réparation ou installation …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #9
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 071
    Points : 9 850
    Points
    9 850
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    de mon coté, j'ai pour habitude de laisser le vbs ouvrir un classeur Excel contenant, lui, la macro qui fera le job

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set AppExcel = CreateObject("Excel.Application")
    With AppExcel
        .Visible = True
        Set Wb = .Workbooks.open("Lechemindemonfichier.xlsm")
        .Run "NomDeLaMacro"   ' ici c'est la macro qui fera le job de créer et enregistrer le nouveau classeur
        .Quit    ' la macro "NomdeLaMacro" s'est déjà chargée de fermer les classeurs
    End With
    regarde déjà si ainsi, tu arrives à chopper une instance Excel

    si ce n'est pas le cas ... regarde si à la main tu arrives à ouvrir Excel
    Et si tu n'y arrives pas, il est là le problème, pas dans ton script

  10. #10
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    C'est l'information primordiale devant être indiquée dès la présentation initiale ‼
    Le reste nous ayant bien embrouillé …
    C'est le titre même de mon sujet: "Ouverture d'Excel : Défaillance irrémédiable". Je l'ai aussi exposé dans mon premier post. Quant au reste, il me semble important pour comprendre mon problème dans son intégrité.


    Citation Envoyé par joe.levrai Voir le message

    de mon coté, j'ai pour habitude de laisser le vbs ouvrir un classeur Excel contenant, lui, la macro qui fera le job

    regarde déjà si ainsi, tu arrives à chopper une instance Excel

    si ce n'est pas le cas ... regarde si à la main tu arrives à ouvrir Excel
    Et si tu n'y arrives pas, il est là le problème, pas dans ton script
    Merci Joe pour ton aide. J'ai essayé avec ton code et j'ai la même erreur. Ouvrir Excel à la main se fait par contre sans souci.

  11. #11
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Lancer la réparation d'Office ou réinstaller Excel …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut Moi aussi !
    Bonjour,

    Je rebondis sur ce thème, car je suis confronté au même problème depuis environ 2 semaines, alors qu'auparavant mon script VBS fonctionnait parfaitement depuis des années...
    Depuis, à chaque lancement, qui s'effectue automatiquement à l'ouverture de ma session, j'obtiens le message Défaillance irrémédiable, code 8000FFFF sur la ligne du CreateObject.

    Pourtant mon script est hyper simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim oExcel
     
    Set oExcel = CreateObject("Excel.Application")
    oExcel.Visible = False
    oExcel.DisplayAlerts = False
     
    oExcel.Workbooks.Open("D:\Mes documents\Corse\Locations\Suivi paiements Corse.xlsm")
     
    oExcel.Run "EnregistrementCSV"
     
    oExcel.ActiveWorkBook.saved = TRUE
    oExcel.Workbooks.Close 
    oExcel.Quit
    J'avoue que je ne comprends pas ce qui se passe. J'ai essayé de mettre un delai dans le fichier batch qui appelle le fichier .vbs, mais cela ne change rien.
    Mon Excel fonctionne parfaitement par ailleurs, et j'ai fait une réparation d'Office au cas où, mais cela n'a rien changé.
    Je suis perplexe... et ne sais pas quoi faire pour dépanner mon script qui est super important pour moi.

    J'ai essayé de remplacer la ligne
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim oExcel As Excel.Application
    car j'ai vu cette notation dans les exemples de ce forum, mais alors j'obtiens une erreur "Fin d'instruction attendue" au niveau du catactère 12, c'est à dire au niveau du "As". C'est étrange, non ?

    Je vous remercie pour toute aide, qui sera la bienvenue.

    LaFouine94

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Pour compléter mon précédent message, voici ce que j'ai constaté :
    Si j'essaie de lancer mon script directement en double-cliquant sur le fichier .vbs, j'obtiens systématiquement "Défaillance irrémédiable".
    Et je viens d'essayer d'ouvrir le vbs en passant par le menu "ouvrir avec l'invite de commande", et là, miracle, ça a fonctionné.
    Ensuite, si je relance ce même script par double-clic, tout fonctionne parfaitement !
    Je n'y comprends rien...
    Quelqu'un a-t-il une idée ?

    Merci à tous

  14. #14
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Cela serait encore le problème de gestion 64 bits de Windows;
    essayer en lançant avec le WScript du dossier Windows système SysWOW64 …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Merci pour le conseil, mais ça ne change rien.

    Pour avancer j'ai fait les tests suivants :
    * Je lance le .vbs directement en double cliquant dessus : Défaillance irrémédiable (que le fichier WScript vienne de System32 ou SysWOW64).
    * J'ouvre une fenêtre DOS et je lance le VBS depuis cette fenêtre : Défaillance irrémédiable.
    * J'ouvre une fenêtre DOS en mode administrateur et je lance le VBS depuis cette fenêtre : ça marche !

    Quel changement a bien pû se produire car auparavant, je n'avais pas à me soucier de cela ?

  16. #16
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    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 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Les cas classiques sont une mise à jour, une modification des droits,
    la base de registres modifiée ou endommagée sans compter un virus …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Désinstaller et réinstaller Office, est-ce une bonne idée ?
    J'ai essayé la réparation, déjà, mais sans effet.

  18. #18
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Essaie sur un autre ordinateur, mais tu dois avoir une "panne" sur ton poste.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2015
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Oui, effectivement sur un autre poste, ça fonctionne bien à chaque fois.
    Maintenant, comment trouver la "panne" sur mon poste ?
    J'ai essayé de réinitialiser tous les droits, de réinstaller Office, rien n'y fait.
    Pourtant, parfois, au bout d'un certain nombre d'appels, je ne sais pas pourquoi, ça passe. Et ensuite, ça passe tout le temps.
    Mais si je redémarre mon ordi, alors à nouveau cette erreur 8000FFFF revient...

    Y a-t-il un moyen de monter un niveau de log pour voir plus en détail ce qui bloque ?

  20. #20
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Regarde dans l’observateur d'évènement Windows pour plus d'informations.

    Désactive toutes les macros et plugin d'Excel.

    Essaye de corriger l'erreur 8000FFFF
    https://social.technet.microsoft.com...wsserver2008fr

Discussions similaires

  1. [XL-2007] Erreur à l'ouverture d'un userform : Erreur système défaillance irrémédiable
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/04/2014, 17h04
  2. Problème d'ouverture du fichier excel avec VBS
    Par Bigasse dans le forum VBScript
    Réponses: 11
    Dernier message: 16/12/2010, 14h49
  3. activation macro lors d'une ouverture fichier Excel
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2005, 16h08
  4. Ouverture classeur excel en VBSCRIPT
    Par coeur74 dans le forum ASP
    Réponses: 6
    Dernier message: 20/01/2005, 16h53
  5. Ouverture classeur excel en VBSCRIPT
    Par coeur74 dans le forum ASP
    Réponses: 2
    Dernier message: 20/01/2005, 10h11

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