Option Explicit
Sub Erreurs_REF_filtrer()
' colonnes adapter
Range("a1:b65000").AutoFilter Field:=2, Criteria1:="#REF!"
End Sub
Allons donc vous n'avez pas vu que cette commande recherche soit des formules soit des constantes ?Oui merci Dranreb, mais cela fonctionne que sur dse cellules avec formules , mais j'ai des #REF! dans des cellules qui sont dans le dur (sans formules)
Sub AfficherErreurs()
On Error Resume Next 'si pas de SpecialCells
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=1/SUMPRODUCT(-ISERROR(RC1:RC[-1]))"
.SpecialCells(xlCellTypeFormulas, 16).EntireRow.Hidden = True
.ClearContents 'neutraliser si l'on veut voir la formule
End With
End With
End Sub
Sub AfficherErreurs()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
.Rows(1).EntireRow.Insert
.Rows(0) = "=A&COLUMN()" 'ligne de titres
.Cells(1, .Columns.Count + 1) = "=SUMPRODUCT(-ISERROR(RC1:RC[-1]))" 'critère
.Rows(0).Resize(.Rows.Count + 1).AdvancedFilter xlFilterInPlace, .Cells(0, .Columns.Count + 1).Resize(2)
.Cells(1, .Columns.Count + 1) = "" 'RAZ
.Rows(0).EntireRow.Delete
End With
End Sub
Sub AfficherTout()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
End Sub
Sub AfficherErreurs()
'Ctrl+E pour lancer la macro
Dim t#
t = Timer
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
.Rows(1).EntireRow.Insert
.Rows(0) = "=A&COLUMN()" 'ligne de titres
.Cells(1, .Columns.Count + 1) = "=SUMPRODUCT(-ISERROR(RC1:RC[-1]))" 'critère
.Rows(0).Resize(.Rows.Count + 1).AdvancedFilter xlFilterInPlace, .Cells(0, .Columns.Count + 1).Resize(2)
.Cells(1, .Columns.Count + 1) = "" 'RAZ
.Rows(0).EntireRow.Delete
End With
MsgBox "Durée " & Format(Timer - t, "0.00 \s")
End Sub