Pour les majsuscules tu peux utiliser le code suivant :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count = 1 Then
Cells(Target.Row, Target.Column).value = Ucase(Cells(Target.Row, Target.Column).value)
Else
For i = Target.Column To Target.Column + Target.Cells.Columns.Count - 1
For j = Target.Row To Target.Row + Target.Cells.Rows.Count - 1
Cells(j, i).value =ucase(Cells(j, i).value)
Next
Next
End If
end sub
Tu peux utiliser ce même évènement pour supprimer tes lignes automatiquement