problème VBA et/ou mémoire

chasseur44

XLDnaute Occasionnel
Bonjour
J'ai un problème avec une macro qui traite plusieurs fichiers.
selon la taille des fichiers à traiter elle plante pour d'autres non
Une erreur de type 'erreur d'éxécution '2147417848 (80010108)' La méthode Show de l'objet CustomView a échoué
Puis Erreur Excel l'instruction à "bidule" emploie l'adresse "truc", la mémoire ne peut être read ....
Cette macro marche sur certains de mes fichiers mais plante pour d'autre et je pense que c'est du à la mémoire ?

Avez-vous une solution ?
Merci à tous
 

MJ13

XLDnaute Barbatruc
Re : problème VBA et/ou mémoire

Bonjour,

Dans ton cas essayes de faire du debogage et de voir à quel moment la macro Plante.
Le mieux, tu mets un stop dans ton code proche d'où se produit le bug.
Puis avec F8, tu fais du pas à pas (ctrl+shift+F8 pour sortir du pas à pas).
 

chasseur44

XLDnaute Occasionnel
Re : problème VBA et/ou mémoire

je sais ou elle plante !

Sub Liste_Affichage()

ActiveWorkbook.CustomViews("L_agts handicapés").Show
Selection.AutoFilter Field:=81, Criteria1:="=COT*", Operator:=xlOr, _
Criteria2:="=*i*"
Range("A1").Select

ActiveWorkbook.CustomViews("L_agts hors effectifs").Show
Selection.AutoFilter Field:=43, Criteria1:="Hors effectif"
Range("A1").Select

ActiveWorkbook.CustomViews("L_agts hors statutaires").Show
Selection.AutoFilter Field:=40, Criteria1:="<>Statuta*", Operator:=xlAnd
Range("A1").Select

ActiveWorkbook.CustomViews("L_agts indisponibles").Show
Selection.AutoFilter Field:=43, Criteria1:="En effectif indisp"
Range("A1").Select

ActiveWorkbook.CustomViews("L_stat eff E09 Cadres").Show
Selection.AutoFilter Field:=21, Criteria1:="Cadre"
Selection.AutoFilter Field:=45, Criteria1:="Stat. à l'effectif"
Range("A1").Select

ActiveWorkbook.CustomViews("L_stat eff E09 Maîtrise").Show
Selection.AutoFilter Field:=21, Criteria1:="Maîtrise"
Selection.AutoFilter Field:=45, Criteria1:="Stat. à l'effectif"
Range("A1").Select

ActiveWorkbook.CustomViews("L_stat eff E09 Exécution").Show
Selection.AutoFilter Field:=21, Criteria1:="Exécution"
Selection.AutoFilter Field:=45, Criteria1:="Stat. à l'effectif"
Range("A1").Select

ActiveWorkbook.CustomViews("Liste complète").Show
Range("A1").Select

End Sub


Elle plante sur l'instruction en rouge
mais pas à tous les coups !!! sur certains fichiers ca passe ?
 

Jam

XLDnaute Accro
Re : problème VBA et/ou mémoire

Salut à tous,

Ton problème provient certainement de la complexité des listes que tu tries.
Si tes classeurs comprennent des formules de calcul un tant soit peu complexe, il est possible que le temps entre le recalcul des formules suite au filtrage et le passage à un autre customview engendre ce problème.

Je te propose plusieurs solutions:
- Tout d'abord allège un peu ton code avec des With...End with
- Avant de lancer ta procédure met Application.Calculation = xlManuel
- Si cela ne fonctionne toujours pas essaie un petit DoEvents afin de laisser la main à Excel avant de continuer ton programme.

HTH
Bon courage,
 

Discussions similaires

Statistiques des forums

Discussions
314 048
Messages
2 105 035
Membres
109 236
dernier inscrit
Loic-Bocart