Hi

I have these which work perfect apart but when i try and get them to work together they loop and crash

It should be doing the following:
When a user selects a cell it expands to the column width 33.
then applies the data validation list using the named "Schemes"

The reason for the dose is the expansion of the column is really nice and the data validation is to compensate for if a user merges then unmerges a cell it repopulates the data validation

any ideas?
code is below
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim NextTarget As Range
Set NextTarget = Range(Selection.Address)
Columns("D:bc").ColumnWidth = 4
Target.Columns.Select
Target.ColumnWidth = 33


End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'auto fills cells within selected range with the data validation rules

Dim Rw As Long
Dim val As Variant
If Intersect(Target, Cells) Is Nothing Then Exit Sub
Application.ScreenUpdating = True
Need to change range to cover the area
Range("d2:bc200").Select
With Selection.Validation
.Delete
       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
       xlBetween, Formula1:="=schemes"
       .IgnoreBlank = True
        .InCellDropdown = True

      .InputTitle = ""
       .ErrorTitle = ""
       .InputMessage = ""
       .ShowInput = True
      .ShowError = True


'Application.ScreenUpdating = True
'End With
    
'End Sub