Fonction Evaluate dans VBA

Fethi93 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
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

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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