Sub test()
With ActiveSheet
CelColOù(.[A2], "H", "<>", "[D]").EntireRow.Delete
With CelColOù(.[R2], "R", "=", "")
.Borders(xlDiagonalUp).LineStyle = xlContinuous
.Borders(xlDiagonalDown).LineStyle = xlContinuous: End With
With CelColOù(.[F2], "F", "=", "")
.Borders(xlDiagonalUp).LineStyle = xlContinuous
.Borders(xlDiagonalDown).LineStyle = xlContinuous: End With
End With
End Sub
Function CelColOù(ByVal CelDéb As Range, ColQuoi, ByVal Opé As String, ByVal Valeur) As Range
Dim Lignes As Range, ColTrv As Range, Z As String
With CelDéb.Worksheet.UsedRange
Set CelColOù = CelDéb.Resize(.Rows.Count + .Row - CelDéb.Row)
Set ColTrv = Intersect(.Columns(.Columns.Count + 1), CelColOù.EntireRow): End With
If Not IsNumeric(ColQuoi) Then ColQuoi = ColTrv.EntireRow.Columns(ColQuoi).Column
If IsNumeric(Valeur) Then Valeur = Trim$(Str$(Valeur)) Else Valeur = """" & Valeur & """"
ColTrv.FormulaR1C1 = "=1/(RC" & ColQuoi & Opé & Valeur & ")"
On Error Resume Next
Set CelColOù = Intersect(ColTrv.SpecialCells(xlCellTypeFormulas, 1).EntireRow, CelColOù)
ColTrv.EntireColumn.Delete
End Function