Bonjour les développeurs,

Je suis un débutant en VBA,je veux optimiser mon code VBA pour avoir une excusion rapide de mes macros.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Macro1()
 
Application.ScreenUpdating = False
 
'Extraction des Données'
 
    Sheets("Données").Select
    Range("B4:JJ10000").Select
    Selection.Copy
    Sheets("Détails Rang2").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
'Copier & Coller sans doublants'
 
    Sheets("Détails Rang2").Select
    Range("D4: D10000").Select
    Selection.Copy
    Range("JM4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveSheet.Range("$JM$3:$JM$1000").RemoveDuplicates Columns:=1, Header:= _
        xlYes
 
    Sheets("Accueil").Select
 
'Liste de A a Z'
 
   ActiveWorkbook.Worksheets("Détails Rang2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Détails Rang2").Sort.SortFields.Add Key:=Range( _
        "JM3"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
 
    With ActiveWorkbook.Worksheets("Détails Rang2").Sort
        .SetRange Range("JM4:TM1000")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
 
Application.ScreenUpdating = True
 
UserForm1.Show
 
End Sub