[Excel] Compatibilité macro

Fermé
Astrackt - 14 avril 2009 à 16:34
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 15 avril 2009 à 10:05
Bonjour,
J'ai créé une macro Excel qui doit trier et ranger un fichier Excel d'environ 4000 lignes. Cette macro fonction tres bien sous Excel 2007 mais ne fonctionne visiblement pas Sur Excel XP. (Message d'erreur : Espace pile insuffisant)

Est ce possible?
Comment rectifier cela?

Merci par avance
A voir également:

4 réponses

UP
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 242
15 avril 2009 à 09:00
Bonjour

et si tu fournissais ta macro, espace pile insuffisant est une erreur vieille comme l'ordinateur (que je ne pensais pas revoir)...
il semblerait que tu sortes de boucle de façon anormale ou tu utilises une récurrence illimitée qui provoque un empilement d'adresse qui ne sont jamais désempilées. Sans la macro on ne peut pas voir grand chose...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
15 avril 2009 à 09:57
bonjour wilfied, Astrack

Chez moi, (512mo RAM, XL2003) j'ai ce message vers environ 1200 récurrences d'une macro, ce n'est pas une question de dépilage
Pour étudier le truc et pour le fun , j'avais écrit cette sub ( supprimer les lignes où il y a de marqué "mois de") à faire hurler les puristes !!!

Sub supprimer_avec_condition()

Application.ScreenUpdating = False

On Error Resume Next
lig = Columns(1).Find("mois de", Range("A65536"), , xlPart).Row
Rows(lig).Delete
If Err.Number > 0 Then: End

supprimer_avec_condition

End Sub


le message "pile insuffisant" se produit alors que le nettoyage ne soit terminé
Quoiqu'il en soit, VBA n'aime pas trop les récurrences...
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 242
15 avril 2009 à 10:05
re: bonjour michel

en voici une autre à laquelle je m'attends un peu plus
For i = 1 to 2000
      for j = 1 to 15
           if cells(i,j) = date then 
                .......
                .......
                goto suite
           end if
      next j
suite:
next i
0