Scrapel
Messages postés32Date d'inscriptionlundi 7 juillet 2014StatutMembreDernière intervention18 novembre 2014
-
30 juil. 2014 à 20:21
Scrapel
Messages postés32Date d'inscriptionlundi 7 juillet 2014StatutMembreDernière intervention18 novembre 2014
-
31 juil. 2014 à 22:19
Bonjour,
Je suis débutant :) . Je développe un logiciel qui utilise un classeur Excel. Sur mon ordi, tout se passe nickel, je peux afficher les données présentes dans le classeur. J'ai alors créé un "package" d'installlation. Celui-ci s'installe nickel sur la plupart des ordi (sous Win7 et sous XP). Mais sur un ordinateur (sous XP), lorsque la procédure qui fait appel à Excel se lance, l'application quitte sans message d'erreur (or c'est précisément à cette machine que le logiciel est destiné :( ).
Remarques :
-Bien sûr excel est installé sur l'ordinateur qui pose pb. EXCEL.EXE est incluse dans le setup d'installation (il s'inclue automatiquement).
-L'installation se passe nickel mais (sur les deux XP uniquement : l'ordi où ça marche comme sur l'autre ordi où j'ai le problème) sauf à la fin où apparait le message suivant j'ai le message suivant : "le point d'entrée de procédure _except_handler4_common est introuvable dans la bibliothèque de liaisons dynamique msvcrt.dll" -De plus lors de l'installation il y a aussi un problème avec itircl.dll : "An error occurred while registring the file 'C:\Windows\system32\itircl.dll" (idem, cette erreur n'arrive que sur les XP, sur celui qui marche comme sur celui où plante Excel)
-Dans le gestionnaire des tâches, le processus EXCEL.EXE tourne : l'ouverture de Excel a donc marché et pas la fermeture, ce qui porte à croire que le pb vient dans le code ci-après.
Voici l'extrait du code où arrive le problème
(ce code sert à afficher dans une combobox, les noms des éléments de la première colonne à partir de la deuxième ligne) :
If Dir(path) <> "" Then Dim xls As Excel.Application 'Application Excel Dim xlsclasseur As Excel.Workbook 'Classeur Excel Dim xlsfeuille As Excel.Worksheet 'Feuille Excel Set xls = CreateObject("Excel.Application") 'Ouverture de l'application Set xlsclasseur = xls.Workbooks.Open(path) 'Ouverture du classeur Set xlsfeuille = xls.Worksheets(1) 'Ouverture de la feuille, on prend la 1ere feuille comme feuille de travail
Do While Combo_Choix_Ligne.ListCount > 0 Combo_Choix_Ligne.RemoveItem (0) Loop 'Lecture des données de la première colonne et ajout des éléments de la combobox du choix de ligne Dim i As Long Dim test As Boolean i = 2 Do While (xlsfeuille.Cells(i, 1).value <> "") Combo_Choix_Ligne.AddItem xlsfeuille.Cells(i, 1).value i = i + 1 If Combo_Choix_Ligne.ListIndex < 0 Then Combo_Choix_Ligne.ListIndex = 0 Loop
xlsclasseur.Close 'Fermeture du classeur excel xls.Quit 'Fermeture du classeur excel Set xlsfeuille = Nothing 'Désallocation mémoire Set xlsclasseur = Nothing 'Désallocation mémoire Set xls = Nothing 'Désallocation mémoire Else ....................... 'le else ne fait plus appel à Excel
Si quelqu'un a une piste je suis preneur, j'ai passé une bonne partie de l'aprem dessus, je sèche :( ...
Scrapel
Messages postés32Date d'inscriptionlundi 7 juillet 2014StatutMembreDernière intervention18 novembre 2014 31 juil. 2014 à 08:36
Avec des msgBox partout, j'ai résussi à voir que l'erreur provient de la ligne suivante : est-ce que quelqu'un voit ce qui pourrait poser problème ????????
Set xlsclasseur = xls.Workbooks.Open(path)