Etat instable Excel 2003

bonjour

j'utilise le petit code suivant pour acceder de mon classeur A vers mon classeur B , le classeur B contient un nombre important de

feuilles environ 600 et lorsque j'utilise la macro commande suivante placée sur un module du classeur A , ca fait planter tout excel

Sub OuvrirDoc2()
Dim feuille As Worksheet
chemin = ThisWorkbook.Path

Workbooks.Open Filename:=chemin & "\B.xls"

With Application
        .Calculation = xlManual
        .MaxChange = 0.001
    End With
    Workbooks("B.xls").PrecisionAsDisplayed = False

For Each feuille In Sheets
    If (feuille.Name) = Workbooks("A.xls").Sheets("COMPTA").Range("L19") Then

feuille.Activate
        Exit For
    End If
Next feuille

cela pourrait il etre du au nombre important de feuilles se trouvant dans le classeur B , si oui peut on optimiser ces lignes de code

Merci pour vos réponses

Bonjour,

Le nombre de feuilles possible dépend de la mémoire disponnible.

Mais avec le code

For Each feuille In Sheets
    If (feuille.Name) = Workbooks("A.xls").Sheets("COMPTA").Range("L19") Then 

le plantage est fréquant.

Essaye avec

Dim Wks As Worksheet
    Set Wks = Workbooks("A.xls").Sheets("COMPTA")
For Each feuille In Sheets
    If (feuille.Name) = Wks.Range("L19") Then 

Il faudra peu-être séparer encore un peu plus.

Dim Wkb As Worksheet
Dim S As String
    Set Wkb = Workbooks("A.xls").Sheets("COMPTA")
    S = Wkb.Range("L19")
For Each feuille In Sheets
    If (feuille.Name) = S Then 

Ce serait encore mieux d'initialiser S avant d'ouvrir le classeur B

Tu dis.

A+

je te remercie infiniment pour la varieté des réponses que tu m'a proposé , je vais les essayer

sinon j'ai pensé à utiliser readyboost ( une clé usb qui supplée à la memoire de la machine )

je vais quand meme retenir tes solutions

merci

Rechercher des sujets similaires à "etat instable 2003"