Bonjour à vous tous!!
J'ai une macro que j'active par bouton pour faire la mise à jour de certains tableau (excusez le manque de finition, je suis encore en stade ébauche!)
Mon probème est que je souhaite intégrer ce code dans un Événement Worksheet_Change qui vise un changement sur la colonne 4.
Le code fonctionne s'il est activé par un bouton, mais me renvoir l'erreur "La méthode Select de la classe Range a échoué" si je met le code sur le "Worksheet_Change" et me renvoir à la ligne " Range("B4:I22").Select
"
Je ne comprend pas pourquoi il fonctionne sur un bouton mais non en événement change!!!
Avez vous des idées pour moi??
Début du code de mon Worksheet_Change
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 4 Then Exit Sub .....
Mon code à intégrer.
Merci!!!!!
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 Sub MAJ_Audit() ' ' MAJ_Audit Macro ' ' Sheets("NC Audits").Select Range("B4:I22").Select Selection.Copy Range("B28").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("B28:C46").Select Application.CutCopyMode = False ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Clear ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Add Key:=Range( _ "C29:C46"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NC Audits").Sort .SetRange Range("B28:C46") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("E28:F46").Select ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Clear ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Add Key:=Range( _ "F29:F46"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NC Audits").Sort .SetRange Range("E28:F46") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Clear ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Add Key:=Range( _ "F29:F46"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NC Audits").Sort .SetRange Range("E28:F46") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("H28:I46").Select ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Clear ActiveWorkbook.Worksheets("NC Audits").Sort.SortFields.Add Key:=Range( _ "I29:I46"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("NC Audits").Sort .SetRange Range("H28:I46") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Sheets("Usine").Select End Sub
Partager