![]() |
Excel - erreur Automation
Bonjour,
J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Saved = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Marc Tousignant a écrit :
Pourriez-vous me renseigner sur ce type d'erreur? bonjour Marc, Erreur Automation (erreur 440) Lorsque vous accédez à des objets Automation, des types d'erreur spécifiques peuvent se produire. Cause et solution de cette erreur : Une erreur s'est produite lors de l'exécution d'une méthode ou de l'obtention ou de la définition d'une propriété d'une variable objet. L'erreur a été signalée par l'application qui a créé l'objet. Vérifiez les propriétés de l'objet Err pour identifier la source et la nature de l'erreur. Tentez également d'utiliser l'instruction On Error Resume Next immédiatement avant d'accéder à l'instruction, puis vérifiez l'absence d'erreurs immédiatement après l'accès à l'instruction. Pour plus d'informations, sélectionnez l'élément en question et appuyez sur F1 (sous Windows) ou AIDE (sur Macintosh). isabelle Marc Tousignant a écrit : Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Saved = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe
plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Saved = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Bonjour,
Plus de questions que de réponses, mais on ne sait jamais. Ton "GetFileName", est-ce une fonction personnalisée ? Il y peut-être une erreur de passage de paramètres, qui ressort en "fausse erreur automation". Si c'est un alias pour une fonction API, est-ce que ta fonction API est supportée sur les machines où ton programme plante ? Et si tu adaptes ta procédure pour qu'elle roule dans VBA-Excel au lieu de VB, et que tu la passes au pas-à-pas dans Excel ? "Marc Tousignant" a écrit dans le message de ... Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save ). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save d = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
La fonction est une de mes fonction VB qui ne fait que formatter une String
afin d'avoir un noom de fichier standardisé (FT 123456 2005-02-12.xls). Je l'utilise pour avoir le nom du fichier destination du FileCopy. "Clément Marcotte" a écrit dans le message de ... Bonjour, Plus de questions que de réponses, mais on ne sait jamais. Ton "GetFileName", est-ce une fonction personnalisée ? Il y peut-être une erreur de passage de paramètres, qui ressort en "fausse erreur automation". Si c'est un alias pour une fonction API, est-ce que ta fonction API est supportée sur les machines où ton programme plante ? Et si tu adaptes ta procédure pour qu'elle roule dans VBA-Excel au lieu de VB, et que tu la passes au pas-à-pas dans Excel ? "Marc Tousignant" a écrit dans le message de ... Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save ). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save d = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Bonjour,
D'autres question en l'air: Sur les machines qui plantent, est-ce que l'utilisateur a les droite en lecture-écriture-effacement ? Sur les machines qui plantent, est-ce parce que l'utilisateur essaie d'écraser un fichier existant du même nom ? Je me demande si c'est vraiment un problème automation, ou si le message "erreur automation" cache une autre erreur mais que le vrai message d'erreur est "camouflé" par la liaison OLE. "Marc Tousignant" a écrit dans le message de ... La fonction est une de mes fonction VB qui ne fait que formatter une String afin d'avoir un noom de fichier standardisé (FT 123456 2005-02-12.xls). Je l'utilise pour avoir le nom du fichier destination du FileCopy. "Clément Marcotte" a écrit dans le message de ... Bonjour, Plus de questions que de réponses, mais on ne sait jamais. Ton "GetFileName", est-ce une fonction personnalisée ? Il y peut-être une erreur de passage de paramètres, qui ressort en "fausse erreur automation". Si c'est un alias pour une fonction API, est-ce que ta fonction API est supportée sur les machines où ton programme plante ? Et si tu adaptes ta procédure pour qu'elle roule dans VBA-Excel au lieu de VB, et que tu la passes au pas-à-pas dans Excel ? "Marc Tousignant" a écrit dans le message de ... Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save ). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save d = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Réponse:
L'utilisateur a tout les droits car: 1- ils sont administrateur sur leur machine et 2- J'utilise le dossier "Mes Documents" pour mes enregistrements. L'utilisateur ne peut pas écraser un fichier existant car j'ai fais des tests avec un utilisateur en lui demandant d'effac*er les fichiers existants (dans le cas où l'application aurait réussi à les créer et l'erreur est toujours présente.) J'ai tenté de faire roulé le programme sans la ligne workbooks(getfilename())*.save sur un poste et ça plante toujours. Je me demande si c'est vraiment un problème automation, ou si le message "erreur automation" cache une autre erreur mais que le vrai message d'erreur est "camouflé" par la liaison OLE. Sais-tu comment je pourrais le savoir? Merci Marc T. "Clément Marcotte" a écrit dans le message de ... Bonjour, D'autres question en l'air: Sur les machines qui plantent, est-ce que l'utilisateur a les droite en lecture-écriture-effacement ? Sur les machines qui plantent, est-ce parce que l'utilisateur essaie d'écraser un fichier existant du même nom ? Je me demande si c'est vraiment un problème automation, ou si le message "erreur automation" cache une autre erreur mais que le vrai message d'erreur est "camouflé" par la liaison OLE. "Marc Tousignant" a écrit dans le message de ... La fonction est une de mes fonction VB qui ne fait que formatter une String afin d'avoir un noom de fichier standardisé (FT 123456 2005-02-12.xls). Je l'utilise pour avoir le nom du fichier destination du FileCopy. "Clément Marcotte" a écrit dans le message de ... Bonjour, Plus de questions que de réponses, mais on ne sait jamais. Ton "GetFileName", est-ce une fonction personnalisée ? Il y peut-être une erreur de passage de paramètres, qui ressort en "fausse erreur automation". Si c'est un alias pour une fonction API, est-ce que ta fonction API est supportée sur les machines où ton programme plante ? Et si tu adaptes ta procédure pour qu'elle roule dans VBA-Excel au lieu de VB, et que tu la passes au pas-à-pas dans Excel ? "Marc Tousignant" a écrit dans le message de ... Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save ). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save d = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
Excel - erreur Automation
Bonjour,
C'est un peu pour cela que je demandais si tu pouvais adapter ta procédure dans VBA pour Excel, et en l'exécutant au pas à pas à partir d'un module dans Excel. "Marc Tousignant" a écrit dans le message de ... Réponse: L'utilisateur a tout les droits car: 1- ils sont administrateur sur leur machine et 2- J'utilise le dossier "Mes Documents" pour mes enregistrements. L'utilisateur ne peut pas écraser un fichier existant car j'ai fais des tests avec un utilisateur en lui demandant d'effac*er les fichiers existants (dans le cas où l'application aurait réussi à les créer et l'erreur est toujours présente.) J'ai tenté de faire roulé le programme sans la ligne workbooks(getfilename())*.save sur un poste et ça plante toujours. Je me demande si c'est vraiment un problème automation, ou si le message "erreur automation" cache une autre erreur mais que le vrai message d'erreur est "camouflé" par la liaison OLE. Sais-tu comment je pourrais le savoir? Merci Marc T. "Clément Marcotte" a écrit dans le message de ... Bonjour, D'autres question en l'air: Sur les machines qui plantent, est-ce que l'utilisateur a les droite en lecture-écriture-effacement ? Sur les machines qui plantent, est-ce parce que l'utilisateur essaie d'écraser un fichier existant du même nom ? Je me demande si c'est vraiment un problème automation, ou si le message "erreur automation" cache une autre erreur mais que le vrai message d'erreur est "camouflé" par la liaison OLE. "Marc Tousignant" a écrit dans le message de ... La fonction est une de mes fonction VB qui ne fait que formatter une String afin d'avoir un noom de fichier standardisé (FT 123456 2005-02-12.xls). Je l'utilise pour avoir le nom du fichier destination du FileCopy. "Clément Marcotte" a écrit dans le message de ... Bonjour, Plus de questions que de réponses, mais on ne sait jamais. Ton "GetFileName", est-ce une fonction personnalisée ? Il y peut-être une erreur de passage de paramètres, qui ressort en "fausse erreur automation". Si c'est un alias pour une fonction API, est-ce que ta fonction API est supportée sur les machines où ton programme plante ? Et si tu adaptes ta procédure pour qu'elle roule dans VBA-Excel au lieu de VB, et que tu la passes au pas-à-pas dans Excel ? "Marc Tousignant" a écrit dans le message de ... Merci pour vos suggestion, le problème n'est pas le fileCopy, il se situe plus loin, après avoir défini les propriétés, au moment du saveWorkBook (ligne obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save ). Il n'arrive que sur certain poste. Je vais essayer le resume next sur un poste en erreur. Je reste ouvert à toute autre suggestion... Merci "Marc Tousignant" a écrit dans le message de ... Bonjour, J'ai développé un système multi-application d'ont une communique avec MS Excel via des objets. Je les utilises pour insérer des données dans mon fichier, j'y appel 2 macros (Sub public dans ma feuille 1), je l'enregistre puis le l'ouvre pour permettre à l'usager de saisir ses données. Au moment de la sauvegarde, certain poste déclanche une "Erreur Automation"*. Je vous donne un extrait de mon code qui inter-agit entre vb et excel. Fait éronnant, l'erreur ne se produit que suir certain poste. Pourriez-vous me renseigner sur ce type d'erreur? Une aide serait grandement appréciée Merci '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' ' Crée une nouvelle feuille de temps selon le modèle maître, l'enregistre ' dans l'emplacement choisi par l'utilisateur et l'ouvre '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''' '''' Private Sub createTS(ByRef obj As Excel.Application, strPath As String, strLogo As String, _ intModele As Integer) Dim ws As Excel.Worksheet Dim intJourSemaine As Integer On Error GoTo Erreurs 'On crée une copie du fichier maître pour l'entrer d'une nouvelle 'feuille de temps FileCopy strPath, strPathSave obj.Workbooks.Open strPathSave 'On désactive les events pour l'insertion des données obj.EnableEvents = False 'Inscription des paramètres de l'en-tête de la feuille de temps With obj.ActiveSheet .Unprotect "ti2004" .Cells(2, 1) = typEmp.strCie .Cells(2, 2) = typEmp.strNoEmp .Cells(2, 11) = CDate(cboEndWeek.List(cboEndWeek.ListIndex)) .Cells(4, 1) = UCase(typEmp.strName) .Cells(4, 6) = UCase(typEmp.strFirstName) .Cells(12, 5).Select 'Chargement du logo .setImage (strLogo) .setTaches (intModele) '.setVersion (VERSION) 'MsgBox "14", vbOKOnly .Protect "ti2004" End With obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save 'obj.ActiveWorkbook.Save obj.Workbooks(getFileName(cboEndWeek.List(cboEndWe ek.ListIndex))).Save d = False obj.EnableEvents = True obj.Visible = True dteDateMod = FileDateTime(strPathSave) Exit Sub Erreurs: MsgBox Err.Description & " " & Err.Source, vbInformation, "VB" obj.Quit End Sub |
All times are GMT +1. The time now is 12:34 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com