Erreur execution 1004 - Pas de cellule correspondante

Bonjour,

je rencontre un problème avec le code "erreur d'execution 1004 - Pas de cellule correspondante". Je vous préviens tout de suite, je n'ai quasiment aucune connaissance en VBA, j'ai commencé à y regarder depuis hier. Avant ça, je passai par l'enregistreur de macro (utilisé pour le code ci-dessous).

Voici le code utilisé

Sub Corriger_erreur_onglet_base_de_données()

    Sheets("Base de données").Select
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeFormulas, 16).Select
    Selection.EntireRow.Delete
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    Sheets("Notice").Select
    Range("A51").Select

End Sub

L'objectif est donc dans mon onglet "base de données", dans la colonne A, rechercher les valeurs erreurs pour ensuite supprimer les lignes concernés (puis retourner dans mon onglet "notice" cellule A51).

Je n'ai aucun souci lorsqu'il existe des valeurs erreurs à supprimer. Par contre, je rencontre le message "erreur d'execution 1004 - Pas de cellule correspondante".

Après quelques recherche, j'ai trouvé la fonction On Error Resume Next. Mais beaucoup était contre son utilisation car il était préférable de corriger le code directement.

Je recherche donc un moyen de lancer cette macro avec ou sans valeur erreur à corriger.

Merci pour votre aide

Bonjour, s'il n'y a pas de cellule à trouver on sort de la macro. (on error exit sub)

Sub Corriger_erreur_onglet_base_de_données()

On error Exit sub

Sheets("Base de données").Select
    Columns("A:A").Select
    Selection.SpecialCells(xlCellTypeFormulas, 16).Select
    Selection.EntireRow.Delete
    ActiveWindow.ScrollWorkbookTabs Sheets:=-1
    Sheets("Notice").Select
    Range("A51").Select

End Sub

Bonjour,
Pour le principe.
Cdlt.

Public Sub DeleteRowsWithErrors()
Dim ws As Worksheet, ws2 As Worksheet, rng As Range, n As Long

Set ws = Worksheets("Base de données")
Set ws2 = Worksheets("Notice")

    With ws
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        On Error Resume Next
        Set rng = .Cells(1).Resize(n).SpecialCells(xlCellTypeFormulas, 16)
        On Error GoTo 0
    End With

    If Not rng Is Nothing Then rng.EntireRow.Delete

    Application.Goto ws2.Cells(51, 1), scroll:=True

End Sub
Rechercher des sujets similaires à "erreur execution 1004 pas correspondante"