Fonction Evaluate dans VBA

Fermé
Fethi93 Messages postés 17 Date d'inscription mardi 28 mai 2013 Statut Membre Dernière intervention 5 juin 2013 - 29 mai 2013 à 10:41
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 30 mai 2013 à 15:38
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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 mai 2013 à 11:04
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