Comprehension incompatibilité de type

Bonjour à tous. J'ai une erreur 13 (incompatibilité de type) que je n'arrive pas à résoudre simplement avec le code ci-dessous.

Sub suppressionDelai()

    Dim cellule As Range
    Dim phrase As String
    phrase = "Délai"

    For Each cellule In Worksheets("TEMPLATE").Range("A2:A1000").Cells

               If cellule.Value = phrase Then

                   Cells(cellule.Row, cellule.Column + 2).ClearContents

                   Exit For
               End If

    Next ' fin de la boucle
End Sub

J'aimerai simplement effacer le contenu d'une cellule se trouvant à côté d'une cellule qui contient le mot "Délai"

Je comprends qu'une variable de type Range ne puisse pas être compatible avec une de type String, mais à quoi sert donc la méthode ".Value" de l'objet Range ?

Merci d'avance pour vos éclaircissements.

bonjour,

je suppose que tu dois avoir une cellule qui contient une erreur. Cela provoque ce type d'erreur en VBA.

Super, merci ! Je comprends donc beaucoup mieux certaines erreurs...

Il y avait effectivement une cellule qui renvoyait "#N/A" dans le parcours de la boucle.

A ce propos, à quelle valeur correspond ce "#N/A" ?

Ai-je le droit d'écrire =SI(A1="#N/A","",INSTRUCTION) pour supprimer cette erreur et empêcher le plantage du code ?

re-bonjour,

utilise =SIERREUR(taformule;"")

tu peux aussi ajouter un test en VBA

Sub suppressionDelai()

    Dim cellule As Range
    Dim phrase As String
    phrase = "Délai"

    For Each cellule In Worksheets("TEMPLATE").Range("A2:A1000").Cells

        If Not IsError(cellule) Then
            If cellule.Value = phrase Then

                Cells(cellule.Row, cellule.Column + 2).ClearContents

                Exit For
            End If
        End If

    Next ' fin de la boucle
End Sub

Merci beaucoup ! Je vais opter pour le codage VBA pour eviter de penser à mettre un SIERREUR dans toutes mes cellules ! :)

Rechercher des sujets similaires à "comprehension incompatibilite type"