Fonction Evaluate dans VBA

Bonjour,

Je souhaite créer une fonction vba de comparaison entre deux plages.
L'idée est de rendre l'opérateur de comparaison ("=", ">", "<",...) comme argument de la fonction.
J'utilise Evaluate pour avoir le résultat.

Toutefois quand j'essaye cette méthode la fonction Evaluate bug et affiche l'erreur 2015.

Auriez vous une solution ?

Voici la ligne source de mes tracas :

If Evaluate(plage1(i, 1) & critere & plage2(i, 1)) Then

(critère est déclaré comme string, plage1 et plage2 comme range)

Fethi

12 réponses

  1. Bonjour,

    j'ai essayer avec ce code et ca marche

    Sub test1()
    Dim plage1 As Range
    Dim plage2 As Range
    
    Set plage1 = Worksheets("feuil1").Range("A1:A10")
    Set plage2 = Worksheets("feuil1").Range("B1:B10")
    
    critere = ">"
    For i = 1 To 10
        If Evaluate(plage1(i, 1) & critere & plage2(i, 1)) Then
            MsgBox "ok"
        Else
            MsgBox "pas ok"
        End If
    Next i
    End Sub
    


    a voir
    0