Equiv vba [Résolu]

Signaler
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
-
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
-
Bonjour,
j'ai un petit soucis a implementer une formule Equiv a double critere en vba,
Public Sub Match()
Dim r As String

Dim ws As Worksheet
Set ws = Worksheets("Droit")

Dim cell As Range
Set cell = ws.Range("Code_droit")


Dim cell1  As Range
Set cell1 = ws.Range("Droit")


r = Application.WorksheetFunction.Match(1, (cell = Profil_de_vendeurs.Txt_profil) * (cell1 = Profil_de_vendeurs.txt_statut), 0)
Profil_de_vendeurs.Txt_profil_miroir = r
end sub

j'ai beau cherche a trouver une solution mais rien jusqu'a present,un peu d'aide serait la bienvenue.Merci!!

Configuration: Windows / Chrome 90.0.4430.212

1 réponse

Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867
bonjour,
je ne vois aucune "formule Equiv" dans ton code.
penses-tu vraiment qu'un code qui ne fonctionne pas te permet de ne pas expliquer le résultat que tu essaies d'obtenir?
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
>
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021

OK merci,je suis parvenu a trouver la solution et cela marche tres bien.
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
>
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021

Function Match(x As String, Y As String)
Const FirstRow = 7
Dim LastRow As Long
Dim CurRow As Long
With Worksheets("Droit")
LastRow = .Range("C:D").Find(What:="*", SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).row
For CurRow = FirstRow To LastRow
If .Range("C" & CurRow).Value = Profil_de_vendeurs.Txt_profil And _
.Range("D" & CurRow).Value = Profil_de_vendeurs.Txt_StatutThen
Match = .Range("B" & CurRow).Value
Exit Function
End If
Next CurRow
End With
Match = "Aucune information retournee"
End Function

Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
>
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021

C'est sur la forme d'une fonction que je devais la representer,placer la fonction dans un module et l'utiliser n'importe ou dans mon userform.Merci yb_be
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021
867 >
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021

si la fonction te convient, parfait.
sinon, une sub que tu déclenches par un bouton ou un évènement, et qui met à jour le contenu de la textbox.
Messages postés
34
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
23 mai 2021
>
Messages postés
15984
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
11 juin 2021

J'ai marque comme resolu comme ca tout le monde qui recontrerait le meme type de probleme que moi pourrait l'utiliser.c'est simple et efficace pour remplacer la fonction Equiv a double critere dans vba.