Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC Pb d'enregistrement "mémoire insuffisante" ?

mactof

XLDnaute Nouveau
Bonjour,

Je travaille sur Mac avec excel 2011.

J'ai depuis 2008 un ensemble de fichier .xlsm avec macro que j'ai créé pour ma gestion pro.

Un fichier "central" gestion dans lequel j'ai des tableaux récapitulatif (un ligne se créée à chaque fois que je valide un devis, une affaire ou une facture dans un autre fichier) et des fichiers que j'ouvre en fonction du besoin (nouveau devis, nouvelle affaire, affaire existante) depuis lesquels les lignes récap partent pour se coller en valeur dans le fichier gestion.

Depuis qque temps et de manière aléatoire voila ce qui m'arrive :
1°) j'effectue une série d'action (création de factures, devis ou d'affaires => 1 ou plusieurs) j'enregistre et je ferme mon fichier normalement.
2°) j'y reviens dessus plus tard ou le lendemain et la (que j'ai fait un modif ou pas) si je veux enregistrer j'ai un message (mémoire insuffisante).

Les fichiers font moins de 300ko chacun.
J'ai essayé de supprimer les enregistrents auto pour voir si ce n'était pas une action trop rapide qui pourrait poser pb mais ça n'a rien résolu.
Le seul moyen que j'ai c'est de garder un fichier "vierge" dans lequel je viens recoller mes tableaux et je repart pour (?) quelques semaines.

Merci pour votre aide.
Ce forum m'a déjà aidé par le passer et je suis content de voir qu'il dure encore.
 

Dugenou

XLDnaute Barbatruc
Bonjour,
A tout hasard : rechercher et éliminer : présences d'images masquées ou non, nombreux graphes avec des polices différentes, formules avec des colonnes entières ....
Cordialement
 

Dugenou

XLDnaute Barbatruc
Re,
Somme(A:A) facile à écrire en sélectionnant une colonne entière : fait le calcul sur le 1 400 000 lignes du fichier
ça prend beaucoup plus de mémoire que somme(A1:A10000) par exemple
 

mactof

XLDnaute Nouveau
Bonjour,

Je reviens pour mon problème de message d'erreur.

Après être reparti d'un fichier "propre" j'ai de nouveau le problème.

J'ai enregistré une facture hier et aujourd'hui j'ouvre le fichier gestion et impossible de l'enregistrer.

Ci joint un fichier avec les macro d'enregistrement des factures.
Si qquun voit une fonction qui peut poser problème.

Merci d'avance
 

Pièces jointes

  • Macro facture.xlsm
    13.3 KB · Affichages: 45

gosselien

XLDnaute Barbatruc
Bonjour,

et si tu regardais aussi quelles sont les dernières lignes et colonnes réellement occupées par CTRL END ? (pour chaque onglet et classeur)
Tu vas peut être très bas dans tes colonnes alors que la dernière lignes est en 5000 par exemple ...
Fais un test; si tu écris une donnée en AZ100000 et que tu l'effaces, excel gardera la trace de celle-ci même si la colonne et la ligne sont vides...
Il existe un code pour nettoyer et trouver la vraie dernière cellule

ps: ton code peut aussi être optimisé mais ce n'est ça qui pose problème je pense; par contre comme indiqué par Dugenou, regarde tes formules si elles en descendent pas inutilement trop bas
P.
 

cp4

XLDnaute Barbatruc
Dugenou, Gosselien, Mactof,

Essaie d’exécuter cette macro avant la tienne. Elle nettoie toutes les feuilles.
VB:
Sub NettoyerFeuilles()
    Dim Current As Worksheet
On Error Resume Next
    For Each Current In ThisWorkbook.Worksheets
        With Sheets(Current.Name)
            .Range(Cells.SpecialCells(xlCellTypeLastCell).EntireRow, .Cells.Find("*", , , , xlByRows, xlPrevious).EntireRow).Offset(1, 0).Delete
            .Range(Cells.SpecialCells(xlCellTypeLastCell).EntireColumn, .Cells.Find("*", , , , xlByColumns, xlPrevious).EntireColumn).Offset(0, 1).Delete
        End With
    Next
    ActiveWorkbook.Save
    MsgBox "Nettoyage terminé!", vbInformation, "Reduction Taille Fichier"
End Sub
En espérant que ça résoudra ton problème.
 

mactof

XLDnaute Nouveau
Bonjour,

Merci pour vos post je vais essayer la macro de nettoyage.

J'ai vérifié mes formules et à part des sommes je vais toujours chercher des nom de plages de cellules qui sont uniquement dans mes tableaux (pas de colonne entière ou de plage étendu)

Ci joint tout de même (puisque je l'avais préparé avant de revenir sur la discussion !!) mon fichier gestion et affaire.
!! si vous voulez tester toutes les macros il faut refaire le chemin d'accès aux fichiers (signalé dans les macros)
J'ai un autre fichier pour les propo (devis) mais c'est quand j'enregistre un facture que le pb se pose par la suite.
J'ai déjà neutralisé des parties de macro (masquage de ligne et de bouton) il y a plusieurs années pensant qu'elle pouvait poser pb.
 

Pièces jointes

  • Gestion propo fact affaire.xlsm
    110.8 KB · Affichages: 30
  • Nouvelle affaire.xlsm
    60.4 KB · Affichages: 21

mactof

XLDnaute Nouveau
Ah au fait

On est trois au bureau à utiliser ces fichiers de gestion.

J'ai créé ces fichiers en 2008 quand je me suis installé et mes collègues ont pris une copie en 2010 quand il se sont installés à leur tour.

On est 2 sur Mac a avoir ce type de pb, l'autre est sur PC et n'a jamais eu de pb.

Mon collègue sur PC est sur excel 2007
L'autre sur excel 2016
Moi je suis sur 2011.

Je ne me souviens pas vraiment mais je me demande si ce n'est pas à partir d'excel 2011 que j'ai eu ce pb.
Je sais qu'il y a une histoire de calendrier entre les versions d'excel (j'ai déjà eu des msg lors de copier/coller d'ancien fichier sur des nouveaux).
Je me suis posé la question (vu que je copie/colle des dates entre autre dans mes macros) si ça pouvait venir de ça.

Ce matin en faisant le doublon de mon fichier (qui ne marchait pas hier) j'ai ouvert le doublon normalement du coup j'ai modifié une valeur dans une cellule, j'ai enregistré sans problème puis l'ai fermé.
Je le réouvre de suite aprés pour voir et la message d'erreur mémoire insuffisante.
 

cp4

XLDnaute Barbatruc
Bonjour mactof,

j'ai ouvert ton 1er fichier. Tu as renommé ton module en 'Module 1' avec un espace, c'est une erreur.
Possible que ton code plante pour ça. De plus évite les accents, vba est en anglais où les accents n'existent pas.


Observe bien la différence d’orthographe dans (Name) et dans module, l'espace est interprété en Ê.

Idem dans la procédure consultaffaire: le z majuscule avec tréma dans repertoire affaire.

Tu veux dire excel 2010 pas 2011 qui n'existe pas (excel2010 est un excel2007 amélioré).

NE PAS CHANGER LE NOM DES ONGLETS: utilise plutôt le codeName des feuilles pour que les codes ne plantent pas même en modifiant le nom des feuilles (nom onglet)

J'espère que ça t'aidera à résoudre ton problème.
 

mactof

XLDnaute Nouveau
Bonjour, quelle réactivité de bon matin !

Sur APPLE c'est bien excel 2011 (désolé rien n'est pareil sur APPLE).

A l'écran je n'ai pas de "bug" d'écriture (voir capture en PJ).

Concernant le nom du module effectivement je n'ai pas d'espace dans les autres fichiers mais je ne sais pas si c'est moi qui l'ai fait car je n'arrive pas à savoir ou in change le nom !?

En faisant un clic droit je n'ai pas "renommer"
 

Pièces jointes

  • Capture d’écran 2018-02-15 à 08.30.32.png
    114 KB · Affichages: 31

mactof

XLDnaute Nouveau
Je viens de faire un essai en créant un nouveau module (insertion module).

L'espace se met d'office dans le nom (voir PJ).
 

Pièces jointes

  • Capture d’écran 2018-02-15 à 09.16.13.png
    24.9 KB · Affichages: 39

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…