WorksheetFunction.IsError ne fonctionne pas avec une plage de données ?

Bonjour,

Je souhaiterais réaliser un simple test avec une macro après avoir fait des vlookups sur 3 colonnes.

En gros je voudrais tester "si au moins une des cellules dans la plage choisie est #N/A alors MsgBox "Erreur" sinon MsgBox "Tout est OK""

Voilà mon code mais ma ligne if affiche toujours une erreur. J'ai testé avec une cellule unique et cela semblait marcher...

lastrow = Cells(Rows.Count, "H").End(xlUp).Row

If WorksheetFunction.IsError(Range("H2:J" & lastrow).Value) Then 'ligne posant problème

MsgBox "Erreur", vbExclamation
    Else
    MsgBox "Tout est OK"

Merci du coup de main !

Bonjour,
Pour le principe.
Cdlt.

Sub Test()
Dim ws As Worksheet, lastRow As Long, Rng As Range, Rng2 As Range

    With ActiveSheet
        lastRow = Cells(Rows.Count, "H").End(xlUp).Row
        Set Rng = .Cells(2, 8).Resize(lastRow, 3)
    End With

    On Error Resume Next
    Set Rng2 = Rng.SpecialCells(xlCellTypeFormulas, 16)
    On Error GoTo 0

    If Rng2 Is Nothing Then
        MsgBox "Tout est OK"
    Else
        MsgBox "Erreur", vbExclamation
    End If

End Sub

Bonjour Jean-Eric,

Merci ton code fonctionne parfaitement.

Toutefois j'aimerais juste comprendre la logique derrière cette ligne et ce qu'elle fait précisément pour que je puisse recréer le code moi même une prochaine fois si besoin.

Set Rng2 = Rng.SpecialCells(xlCellTypeFormulas, 16)

Merci !

Re,
Il faut apprendre à consulter l'aide Excel-VBA.
Dans l'éditeur VBE, fait un double-clic sur SpecialCells.
A te relire pour un complément d'informations, si nécessaire.
Cdlt.

Rechercher des sujets similaires à "worksheetfunction iserror fonctionne pas plage donnees"