Fonction Match VBA

Bonjour le forum,

Actuellement, j'utilise la fonction Match et par défaut le résultat est la première cellule qui correspond de gauche. Est ce qu'il y a moyen de procéder de droite a gauche ?

Amicalement.

Re,

Ne sois pas avare d'explications car les mots ne sont pas limités dans le forum. Donne-nous des exemples concrets ou un fichier avec explications.

C'est pas faux ce que tu dis, je suis nouveau sur le forum il me faut un temps d'adaptation

Je t'explique, j'utilise la fonction match dans mon programme pour me trouvé une valeur sur ligne et comme la fonction cherche de gauche a droite il me renvoie l'adresse du premier bon résultat de gauche alors que moi j'aurai besoin du premier bon résultat a droite.

Avec un fichier en pj, c'est avec une formule excel mais je pense que ça changera pas si c'est fait en VBA

39classeur1.xlsm (13.10 Ko)

Bonjour,

Une proposition avec une fonction personnalisée (VBA).

Cdlt.

30classeur1.xlsm (17.64 Ko)
Public Function MatchToColumn(rng As Range, Cell As Range)
Dim lCol As Long, x As Long, I As Long
    MatchToColumn = "N/A"
    lCol = rng.Columns.Count
    For I = lCol To 1 Step -1
        If rng.Cells(I) = Cell.Value Then
            x = rng.Cells(I).Column
            Exit For
        End If
    Next I
    If x > 0 Then MatchToColumn = x
End Function

Bonjour à tous,

Une autre (très basique) pour le plaisir :

Function DERVALEQUIV(plage As Range, v)
    Dim i%, n%
    Application.Volatile
    For i = 1 To plage.Cells.Count
        If plage.Cells(i) = v Then n = i
    Next i
    DERVALEQUIV = n
End Function

Cordialement.


Une formule pour obtenir le même résultat :

=MAX((A1:F1=B3)*COLONNE(A1:F1))

Formule matricielle.

Une dernière (un peu tirée par les cheveux, mais...)

Function DERVALEQUIV2(plage As Range, v)
    Dim ch$, i%
    Application.Volatile
    For i = 1 To plage.Cells.Count
        ch = ch & Format(i, "000") & plage.Cells(i).Text
    Next i
    i = InStrRev(ch, CStr(v))
    i = CInt(Mid(ch, i - 3, 3))
    DERVALEQUIV2 = i
End Function

Bonne journée...

Re,

Merci pour vos réponses.

Je testerai tout çà lundi et je ferais un retour. Bon week end.

Bonjour tout le monde et bon début de semaine ;

Merci pour les fonctions Jean-Eric et MFerrand. C'est Parfait.

Rechercher des sujets similaires à "fonction match vba"