Bonjour,
J'ai changé de format d'extension de ma base de données sur Excel 2007.
Je passe de Base de donnée .xls à Base de donnée.xlsm.
J'ai fait tout simplement ce changement pour pouvoir utiliser toute la puissance des macros dans Excel.
En réalité, quand j'ai programmé un nouvel outil, Excel m'a demandé de changer l'extension car j'allais perdre mon programme. Donc, je n'ai pas eu le choix de choisir une extension qui prend en charge les macros.
Depuis ce changement, tous les outils s'exécutent plus lentement, beaucoup plus lentement.
Voici un exemple concret d'un outil:
olumns("M:M").Select
Selection.Copy
Columns("T:T").Select
ActiveSheet.Paste
Columns("T:T").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Registre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Registre").Sort.SortFields.Add Key:=Range("T1"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Registre").Sort
.SetRange Range("T1:T50000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("T2").Select
Selection.Copy
Range("R1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("S4").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[1],1)"
Range("S4").Select
Selection.Copy
Range("S1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("S4").Select
Selection.ClearContents
Columns("T:T").Select
Selection.Delete Shift:=xlToLeft
Range("R1").Select
L'exécution de cette macro prend environ 2 secondes dans le format .xls. Cette même macro prend environ 8 secondes dans le format .xlsm.
Pourquoi? S'il y a une explication, svp, dite-le moi....
Et est-ce qu'il y a un moyen de récupérer de la vitesse d'exécution dans mon fichier extension .xlsm.
Peut-être le nombre de ligne dans une feuille .....???
Merci de m'aider.
Cydor007
J'ai changé de format d'extension de ma base de données sur Excel 2007.
Je passe de Base de donnée .xls à Base de donnée.xlsm.
J'ai fait tout simplement ce changement pour pouvoir utiliser toute la puissance des macros dans Excel.
En réalité, quand j'ai programmé un nouvel outil, Excel m'a demandé de changer l'extension car j'allais perdre mon programme. Donc, je n'ai pas eu le choix de choisir une extension qui prend en charge les macros.
Depuis ce changement, tous les outils s'exécutent plus lentement, beaucoup plus lentement.
Voici un exemple concret d'un outil:
olumns("M:M").Select
Selection.Copy
Columns("T:T").Select
ActiveSheet.Paste
Columns("T:T").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Registre").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Registre").Sort.SortFields.Add Key:=Range("T1"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Registre").Sort
.SetRange Range("T1:T50000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("T2").Select
Selection.Copy
Range("R1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("S4").Select
ActiveCell.FormulaR1C1 = "=LARGE(C[1],1)"
Range("S4").Select
Selection.Copy
Range("S1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("S4").Select
Selection.ClearContents
Columns("T:T").Select
Selection.Delete Shift:=xlToLeft
Range("R1").Select
L'exécution de cette macro prend environ 2 secondes dans le format .xls. Cette même macro prend environ 8 secondes dans le format .xlsm.
Pourquoi? S'il y a une explication, svp, dite-le moi....
Et est-ce qu'il y a un moyen de récupérer de la vitesse d'exécution dans mon fichier extension .xlsm.
Peut-être le nombre de ligne dans une feuille .....???
Merci de m'aider.
Cydor007