Solution =INDEX('1'!A:E;EQUIV(D1;'1'!D:D;0);1)

j'est utiliser ma fonction suivante :

=INDEX('1'!A:E;EQUIV(D12;'1'!D:D;0);1)

et elle ma donne resultat 2610020055-40

mais moi je veut afficher 4000555555-55

on utilisant les conditions CHQ BANQUE NUM 4265913 de la colonne D et le début du compte colonne A qui commence par 400

salutations

ci-joint fichier

8n.xlsm (10.22 Ko)

Bonsoir,

C'est normal, il faudrait que dans D1 dans l'onglet N on ait

CHQ BANQUE NUM 4265913

Bonjour,

Le texte sur lequel vous faites le recherche n'est pas le bon, ce n'est pas exactement le meme ds les 2 feuilles.

bon courage,

CHQ BANQUE NUM 4265913 c'est l’équivalant que je cherche

mais la fonction index me donne le premier n° compte qui commence par 261

et moi je veut afficher le n° compte qui commence par 400 sa position 4 dans la feuille 1

et à la même référence CHQ BANQUE NUM 4265913

Donc si je comprend bien, il faut chercher sur les 7 derniers numeros (4265913) , un code banque qui commence par 4?

Oui c'est le principe

6n.xlsm (14.77 Ko)

c'est compliquer

c juste une formule a remplacer

bon courage

Bonsoir à tous !

c'est compliquer

D'autant plus que les fonctions proposées nécessitent un environnement "moderne".

Par exemple, la fonction UNIQUE requiert M365, 2021 et suivants.

je comprends... mais du coup on fait comment simplement et avec les formules tah l 'époque , j'y arrive pas...

nouvelle tentative

12n.xlsm (15.38 Ko)

A priori VBA étant permis, testez la fonction ci-dessous.

La seule plus-value par rapport à la solution d'Anne est d'avoir la présence de longueurs de chaine en final <> 7 et de mettre les 3 chiffres du début de compte en paramètre.

Function CompteLibelle(ByVal Libelle As String, ByVal AireLibelle As Range, ByVal AireCompte As Range, ByVal DebutDeCompte As String) As String

Dim I As Long, NbLignes As Long
Dim TabLibelle As Variant, TabAireLibelle As Variant

      CompteLibelle = ""
      NbLignes = WorksheetFunction.CountA(AireLibelle)

      For I = 1 To NbLignes
          TabAireLibelle = Split(AireLibelle(I), " ")
          TabLibelle = Split(Libelle, " ")
          If TabAireLibelle(UBound(TabAireLibelle)) = TabLibelle(UBound(TabLibelle)) _
             And Mid(AireLibelle(I), 1, 1) = Mid(Libelle, 1, 1) _
             And Mid(AireCompte(I), 1, 3) = DebutDeCompte Then
                 CompteLibelle = AireCompte(I)
                 Exit Function
          End If
      Next I

End Function
capture
8n-ek.xlsm (20.62 Ko)
Rechercher des sujets similaires à "solution index equiv"