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 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 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
A voir également:

12 réponses

f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
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