Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Le code VBAProject ne se ferme pas [ Langages dérivés / VBA ] (virgil_68)

vendredi 8 août 2008 à 00:29:37 | Le code VBAProject ne se ferme pas

virgil_68

Bonjour.

J'ai développé un utilitaire avec VBA sous Excel 2007. Sans rentrer dans les détails, mon code passe en revue un ensemble de fichiers excel, en les ouvrant et en vérifiant leur conformité : nom d'onglet repondant a certains criteres, Entete de colonne formatee d'une certaine facon, etc ..... Tout se passe tres bien, sauf la fermeture des fichiers analysés. Les fichiers se ferment, mais le code VBA associé reste ouvert. Si on repete la macro plusieurs fois, on se retrouve avec le meme code VBAProjet ouvert plusieurs fois. Jusqu'a ce que viennent le message "Mémoire Insuffisante". Quelqu'un a t il une solution pour fermer le code associés d'un fichier excel lorsque celui ci reste ouvert ? Est ce un bug de Excel 2007 ?

Merci d'avance.

vendredi 8 août 2008 à 09:38:07 | Re : Le code VBAProject ne se ferme pas

lillith212

Membre Club
Bonjour,

Peux tu mette le code pourl'initialization de ta macro ainsi que le code termine process...
Merci 

S.L.B.


*********************************************************************************
<>

vendredi 8 août 2008 à 23:27:37 | Re : Le code VBAProject ne se ferme pas

us_30

Membre Club
Bonsoir,

Je pense que quelque chose n'est pas clair, lorsque tu dis : " Les fichiers se ferment, mais le code VBA associé reste ouvert. "
En effet, si tu ferme les fichiers, nécessairement le code VBA associé est aussi fermé. Ici, ce que tu dis n'est pas logique, en soit...

Je vois que deux possibilités :
1 / Le code VBA, agit dans la programmation dans VBProject... C'est à dire, qu'il y a du code VBA qui code dans VBE... (c'est possible !) C'est une programmation extrêmement spéciale, donc.
2 / Le code VBA ce charge dans PERSO.XLS, où quelque chose du genre...

Enfin, tout cela n'est pas en général très ordinaire. IL faudrait préciser ce point... A moins que, les fichiers ne soient pas vraiment fermés (ce qui me semble le + probable).

Dans l'absolu, il faudrait avoir le code "réplicateur" (s'il est assez court) et l'endroit où il se réplique, et le code que tu utilises pour ouvrir tes fichiers.

Amicalement,
Us.

mardi 12 août 2008 à 07:09:18 | Re : Le code VBAProject ne se ferme pas

virgil_68

Bonjour et merci à ceux qui se penchent sur mon probleme.
Tout d'abord, je réponds à us_30 pour effacer les doutes. Il dit, je cite :

"Je pense que quelque chose n'est pas clair, lorsque tu dis : " Les fichiers se ferment, mais le code VBA associé reste ouvert. ". En effet, si tu ferme sles fichiers, nécessairement le code VBA associé est aussi fermé. Ici, ce que tu dis n'est pas logique, en soit..."

Oui, c'est vrai, ca ne parait pas logique, mais c'est ainsi que cela se passe. En plus, j'ai, sur mon lieu de travail un dualscreen, qui me permet d'avoir l'environnement VB d'un coté et le tableur de l'autre. Lors du déroulement de la macro, lorsque je laisse
Application.ScreenUpdating = True,je vois clairement les fichiers s'ouvrir, puis se refermer, mais sur l'ecran VB, la branche VBAProject correpondante reste ouverte ....

Sur demande de lillith212 , et les autres qui pourraient creuser mon souci (qui je pense est lié a un bug Excel 2007), voici les bouts de code qui me permettent d'ouvrir et de fermer les fichiers sources en cours de programme :

Tout d'abord, la partie où je choisis les fichiers que je veux analyser :


Public Sub Demarrage()
Dim Classeur As Workbook

    Dim fd As FileDialog
    Dim fdfs As FileDialogFilters
    Dim fdf As FileDialogFilter
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    Dim Element As Variant

    With fd
   
      fd.InitialFileName = ActiveWorkbook.Path
      fd.Filters.Add "Fichiers Excel", "*.xls"

        If .Show = -1 Then

            For Each Element In .SelectedItems

                Verif (Element)

            Next Element
        Else
        End If
    End With

    Set fd = Nothing
End Sub


Puis la procedure qui ouvre un fichier et l'analyse : (je mets le début et la fin, car le reste n'est qu'analyse et traitement) :


Sub Verif(Element As String)
Dim Onglet As Worksheet
Dim Nom_Onglet As String
Dim Nom_Entete As String
Dim Classeur As Workbook
Dim Col As Integer
Dim RapportA As String
Dim RapportB As String
Dim RapportC As String
Dim Tmp As String
Dim NomFichierSortie As String
Dim iTmp, TailleRapport As Integer
Dim TableauZone() As Variant
Dim ZoneNommeeOk As Boolean

Dim Nom_Zone As String

Application.ScreenUpdating = False

Set Classeur = Workbooks.Open(Element, , True)

|
|
|Analyse du fichier ouvert ......
|
|

Classeur.Close SaveChanges:=False

Set Classeur = Nothing
Application.ScreenUpdating = True

End Sub


Voila. C'est tout.

PS : J'ai testé mon code sur un Excel 2003, et tout fonctionne à merveille, ce qui me laisse vraiment penser qu'Excel 2007 à un bug ....




Cette discussion est classé dans : code, excel, fichiers, ouvert, vbaproject


Répondre à ce message

Sujets en rapport avec ce message

VB depuis excel [ par phiphisoft ] Bonjour à tous.Voilà mon problème : j'ai créé pas mal de fichiers excel permettant d'automatiser un grand nombre de tâche sur des fichiers, pour une s VB à partir d'excel [ par phiphisoft ] Bonjour à tous, j'espère être dans la bonne section cette fois.Voilà mon problème : j'ai créé pas mal de fichiers excel permettant d'automatiser un gr problème de code d'accès inconnu à VBAproject sur excel [ par McTour ] j'ai récupéré un fichier excel sur lequel je dois modifier les macro. Je n'ai pas accès au code et l'auteur des macros a quitté la boite.Je souhaite p Appel de fichiers excel via access HELPPPPP [ par preempalver ] bonjour à tous, je bosse sur access en faisant des appels de fichiers excel, voici en gros ce que ça donneDim XL As Excel.ApplicationDim xlBook As Exc Appel de fichiers excel via access HELPPPPP [ par preempalver ] bonjour à tous, je bosse sur access en faisant des appels de fichiers excel, voici en gros ce que ça donneDim XL As Excel.ApplicationDim xlBook As Exc code source pour une application excel [ par Adiagne ] J'ai créé une application sur excel qui envoie à mon Dg des fichiers Ecxel (c'est dire des documents qu'il doit traiter), mais j'aimerai bien aussi av Test si Fichier Excel ouvert [ par syl2 ] Bonjour à tous,je suis en train de réaliser une application VBA Access qui consiste à extraire des données de ma base pour générer des tableaux dynami Fichiers Excel [ par alexsimps2002 ] Salut à tous, J'aimerais pouvoir créer un fichier excel en code à partir d'un modéle (ça facile), mais j'aimerais (en code biensur) rendre le fichier VBA Excel [ par tpp2006 ] Bonsoir,Mis à part la procédure manuelle pas à pas, existe-t-il une macro vba pour excel afin de parcourir mon pc et les fichiers (*.txt), en selectio mise en forme conditionnel dans excel avec vba [ par caloumaya ] Bonjour,Je craque complètement.Je bidouille avec excel et vba un planning.Sur ma feuille 1  j'ai un tableau avec les types d'absence (CA, CE, AT.....)


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.