Erreur dans l'execution du programme

Résolu
herveercout Messages postés 2 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 5 mars 2014 - Modifié par jordane45 le 5/03/2014 à 11:48
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 5 mars 2014 à 14:12
Bonjour à toutes et tous.

Je viens de développer un bout de programme pour ma boite.
étant autodidacte, il y a plein de choses qu je ne maitrise pas en prog.
Ce soft est une aide pour passer des commande.
Il génère une commande au format excel et PDF avec mise en page et tout le tralala.

J'ai tester mon programme plusieurs fois sur mon PC (dans le logiciel VB Expresse 10) il marche bien .
je l'ai donc publié et installer sur plusieurs poste.
Sur tous les autres poste, j'ai ce message d'erreur qui s'affiche.
Y a t'il quelques âmes charitable qui pourraient me venir en aide?

Le message d'erreur
******************************************************************************************************************************
onsultez la fin de ce message pour plus de détails sur l'appel du débogage
juste-à-temps (JIT) à la place de cette boîte de dialogue.

************** Texte de l'exception **************
System.InvalidOperationException: La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter.
à System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
à System.Collections.Generic.List'1.Enumerator.MoveNextRare()
à System.Collections.Generic.List'1.Enumerator.MoveNext()
à Microsoft.VisualBasic.PowerPacks.ShapeCollection.Dispose(Boolean disposing)
à Microsoft.VisualBasic.PowerPacks.ShapeContainer.Dispose(Boolean disposing)
à System.ComponentModel.Component.Dispose()
à System.Windows.Forms.Control.Dispose(Boolean disposing)
à System.Windows.Forms.Form.Dispose(Boolean disposing)
à Appli_techni.frm_commande.Dispose(Boolean disposing)
à System.ComponentModel.Component.Dispose()
à System.Windows.Forms.Form.WmClose(Message& m)
à System.Windows.Forms.Form.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblys chargés **************
mscorlib
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18444 built by: FX451RTMGDR
CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Utilitaire Technimontage
Version de l'assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///C:/Users/technimontage%202/AppData/Local/Apps/2.0/P10Y9JP2.VTD/EPAG24CY.BD1/util..tion_9a9775d19124f1b1_0001.0000_46accc068ac7ced6/Utilitaire%20Technimontage.exe
----------------------------------------
Microsoft.VisualBasic
Version de l'assembly : 10.0.0.0
Version Win32 : 11.0.50938.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Utilitaire Technimontage.resources
Version de l'assembly : 1.0.0.0
Version Win32 : 1.0.0.0
CodeBase : file:///C:/Users/technimontage%202/AppData/Local/Apps/2.0/P10Y9JP2.VTD/EPAG24CY.BD1/util..tion_9a9775d19124f1b1_0001.0000_46accc068ac7ced6/fr/Utilitaire%20Technimontage.resources.DLL
----------------------------------------
Microsoft.Office.Interop.Excel
Version de l'assembly : 14.0.0.0
Version Win32 : 14.0.4756.1000
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/Microsoft.Office.Interop.Excel/14.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Excel.dll
----------------------------------------
office
Version de l'assembly : 14.0.0.0
Version Win32 : 14.0.4760.1000
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/office/14.0.0.0__71e9bce111e9429c/office.dll
----------------------------------------
Microsoft.VisualBasic.PowerPacks.Vs
Version de l'assembly : 10.0.0.0
Version Win32 : 10.0.20911.1
CodeBase : file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic.PowerPacks.Vs/10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.PowerPacks.Vs.dll
----------------------------------------
System.Windows.Forms.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Configuration
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18408 built by: FX451RTMGREL
CodeBase : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Débogage JIT **************
Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette
application ou cet ordinateur (machine.config) doit avoir la valeur
jitDebugging définie dans la section system.windows.forms.
L'application doit également être compilée avec le débogage
activé.

Par exemple :

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées
seront envoyées au débogueur JIT inscrit sur l'ordinateur
plutôt que d'être gérées par cette boîte de dialogue.

****************************************************************************************************************************

je pense que cela bug a ce niveau là.
****************************************************************************************************************************
   Private Sub cmb_validComm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_validComm.Click

        Dim appXls As New Excel.Application   'ouverture d'excel
        Dim xlBook As Excel.Workbook
        Dim xlsheet As Excel.Worksheet = Nothing
        Dim x As Integer
        Dim y As Integer
        Dim a As Integer = 0
        Dim z As Integer
        Dim w As Integer

        Dim sheetXls As xls.Worksheet
        Dim f As Integer
        Dim sDate As Date = Today
        Dim sDatemm As String = Date.Today.ToString("MM", CultureInfo.InvariantCulture)
        Dim sDateYY As String = Today.ToString("yy", CultureInfo.InvariantCulture)

        Dim CherMois As String
        Dim CherAnn As String
        Dim valtampon As Integer
        Dim rechC As String
        Dim tempo As String


        Try

            appXls.Visible = False 'on affiche la fenetre d'excel
            appXls.Workbooks.Open(String.Concat(LookMyDir, numaff, "\COMMANDE\ENR.7.4.02 - SUIVI COMMANDES FOURNISSEURS.xls")) 'ouverture du fichier excel
            sheetXls = CType(appXls.ActiveWorkbook.Worksheets("suivi"), xls.Worksheet) 'on selectionne la page "suivi"
         
<gras>*** Ici paramétrage de la feuille excel*****</gras>

   If ckb_envoy_mail.Checked = True Then 'envoie par mail

                envoyerMail(numMail, String.Concat(pathtosave, ".PDF"))

            End If
            MsgBox("Commande créée")

<gras>            Me.Close() 'fermeture de la form
            'Frm_main.Enabled = True</gras>
        Catch ex As Exception
            MsgBox(String.Concat(ex, Chr(10), " erreur lors de l'enrgistrement."))
            Exit Sub
        Finally
            ReleaseObject(appXls)
            If xlsheet IsNot Nothing Then
                ReleaseObject(xlsheet)
                xlsheet = Nothing
            End If
            'ReleaseObject(xlBook)
            appXls = Nothing

        End Try
    End Sub

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
5 mars 2014 à 11:55
Bonjour,

Trouvé sur le net :
a ddl du powerPack livré avec visual studio 2010 et celle livré avec le powerpack que l'on télécharge sur internet ne sont pas les mêmes, ce qui explique que cela marche sur l'ordi de développement mais pas sur les autres.

Il faut donc enlever la référence a la dll du powerpack de visual studio qui fini par .vs .
Puis télécharger et installer le powerpack d'internet et y rajouter sa référence.
On régénère le projet et plus d'erreurs a la fermeture des formulaires qui contiennent des composants du powerpack.

0
herveercout Messages postés 2 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 5 mars 2014
5 mars 2014 à 14:02
Merci , cela fonctionne bien.

Pour info, tu as vu ou dans le code que l'erreur venait de là?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
5 mars 2014 à 14:12
Dans le message d'erreur...

J'ai cherché sur Goog : "System.InvalidOperationException: La collection a été modifiée ; l'opération d'énumération peut ne pas s'exécuter"

Puis en lisant un des articles trouvé j'ai vu qu'ils parlaient de PowerPack..
J'ai regardé le reste de ton message d'erreur :
à Microsoft.VisualBasic.PowerPacks.ShapeCollection.Dispose(Boolean disposing)
à Microsoft.VisualBasic.PowerPacks.ShapeContainer.Dispose(Boolean disposing)
Et j'en ai conclu que le souci venait surement de là....

Voilou.

PS: penses à mettre le sujet en Résolu (en haut sous le titre de ta question).
0
Rejoignez-nous