Bonjour,
Une proposition à étudier et à adapter.
Cdlt.
Private Sub cmdFormatCell_Click()
Dim lastRow As Long, i As Long
Dim rngData As Range
Application.ScreenUpdating = False
With ActiveSheet
lastRow = .Cells(Rows.Count, 1).End(xlUp).Row
Set rngData = .Range("A4:A" & lastRow)
For i = 4 To lastRow
Select Case .Cells(i, 1).NumberFormat
Case """""0.00"" Cr"""
.Cells(i, 1).NumberFormat = "#,##0.00"
Case """""0.00"" Dr"""
.Cells(i, 1).NumberFormat = "[Red]-#,##0.00"
Case """""0"
.Cells(i, 1).NumberFormat = "General"
End Select
Next i
.Cells(4, 1) = WorksheetFunction.Sum(Range("A5:A" & lastRow))
End With
'With ActiveWorkbook
'.DeleteNumberFormat NumberFormat:="""""0,00"" Cr"""
'.DeleteNumberFormat NumberFormat:="""""0,00"" Dr"""
'.DeleteNumberFormat NumberFormat:="""""0"
'End With
End Sub