erreur type 2 avec Excel X

claudy

Membre enregistré
25 Juin 2003
3
0
Bonjour...
Sur Mac OS 9, Office 2001, au déclenchement d'une macro, aprés la ligne de code "Selection.Insert Shift:=xlDown", message: Erreur type 2!
Sur Mac OS X, Office x, Excel a quitté inopinément....
Et cela sur 4 mac testés
:-((
Sur un PC , aucun problème :))
Malheureusement, cette macro doit tourner sur un mac et non pas sur un PC!
Merci pour votre aide
A+ Claudy
confused.gif
 
Salut et bienvenue sur MacG,

En général, les erreurs de type 2 sont liées à des problèmes de mémoire. Sélectionne l'icône de l'application Word et tu fais pomme+I (lire les info). Ensuite dans le menu déroulant tu choisis "mémoire". Deux chiffres sont à donner. Le minimum et le conseillé. Je ne suis plus sous 9 et je ne me rappelle plus les niveaux, mais essaie de mettre 30000 dans conseillé et de faire ta manip avec uniquement Word d'ouvert. Si tu as beaucoup de Ram, n'hésite pas à en donner aux softs de kro$oft qui en réclame toujours.
 
Bonjour, et merci de s'interesser à mon prob....
Pour ce qui est de la mémoire, j'avais déjà poussé à 30000(Sous Mac Os 9), mais pour les autres, sous Mac os X, je crois que c'est Mac Os qui gère la mémoire, donc comment ce fait il que cette macro pose problème sur trois Mac avec Mac os X alors qu'il n'y a aucun problème sur un PC!
frown.gif

Ci dessous, le code de la macro(qui fonctionne sur PC et qui a bien fonctionné pendant des mois sur Mac)
A+
Claudy

Sub zaza()
Dim zaza As Integer
If ActiveCell.Column <> 3 Or ActiveCell.Value = "" Then
MsgBox "!!!!!! Plouf!!!!!"
Exit Sub
End If
Range("A1") = 1
zaza = ActiveCell.Row
Range("A" & zaza, "L" & zaza).Select
Selection.Insert Shift:=xlDown
Range("D" & zaza, "L" & zaza) = Range("D" & zaza + 1, "L" & zaza + 1).Value
Range("D" & zaza + 1, "L" & zaza + 1).ClearContents
Range("G" & zaza + 1) = Range("J" & zaza)
Range("F" & zaza + 1) = Range("F" & zaza)
Range("K" & zaza + 1) = Range("K" & zaza)
Range("L" & zaza + 1) = Range("L" & zaza)
Range("J" & zaza).ClearContents
Range("J" & zaza + 1).FormulaR1C1 = "=RC[-3]+RC[-2]-RC[-1]"
Range("A" & zaza + 1, "L" & zaza + 1).Borders(xlEdgeTop).LineStyle = xlNone
Range("A" & zaza + 1, "L" & zaza + 1).Borders(xlEdgeBottom).LineStyle = xlDouble
Range("F" & zaza + 1).Select
Range("A1").ClearContents
End Sub
 
Je ne connais pas le langage de macro d'Excel.. mais en essayant de comprendre le fonctionnement de ta macro, il me semble que la ligne "fautive" cherche à insérer une nouvelle ligne dans ton tableau. C'est bien ça?

Est-ce que ton tableau n'aurait pas atteint la limite en nombre de lignes... l'insertion d'une nouvelle ligne étant alors impossible (et il est possible que la limite soit différente sur PC et sur Mac...)
 
Bonsoir, je ne vais pas t'être d'un grand secours j'ai essayé ta macro :
Excel 98 sur classic : Ok
ma version d'Excel 98 8.0(5103)

Excel Office X : Ok
As-tu fait les mises à jour OfficeX en 10.1.3 qui donne une version d'Excel 10.1.0(2015)

ma version osx 10.1.5