Je Excel 2007 et Windows XP Lorsque ce code est exécuté:Excel 2007 `rendement définie par l'application ou définis par l'objet error`
Columns("A:G").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B2:B20000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A20000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F2:F20000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:G20000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.Calculation = xlCalculationAutomatic
Il renvoie une erreur à .Apply
:
Application-defined or object-defined error
Une chose à noter est que Application.Calculation = xlCalculationManual
En outre, je ne peux rien faire dans l'interface utilisateur, sauf pour la commutation onglets et l'ouverture du menu de bureau, et je dois aller au gestionnaire des tâches et cliquez sur la fin de la tâche pour quitter, après quoi il demande si je veux enregistrer. L'appui sur annuler ne le résout pas. Si je tape "non", ça ferme juste. Si je clique sur oui, il calcule et demande si je veux qu'il récupère mon travail.
Je suppose que vous voulez dire Application.Calculation = xlCalculationManual (al, pas el) J'ai essayé le code ci-dessus et cela fonctionne pour moi. Quelle ligne donne l'erreur? Si vous ouvrez un nouveau classeur et exécutez le code par rapport à cela avez-vous des problèmes? – Fionnuala