Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Fonction personnalisé par VBA recherche dans une critère dans un chaine de caractère

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Solution
Re,

Le code qui suit devrait le faire (avec ou sans espace) :
VB:
Function Ville(ByVal xID, xRecherche)
Dim t, ref, i&
   t = xRecherche.Value: xID = Mid(Replace(xID, " ", ""), 4)
   ref = Val(Left(xID, Len(xID) - 3))
   For i = 1 To UBound(t)
      If ref = t(i, 1) Then Ville = t(i, 2): Exit Function
   Next i
End Function
Bonjour

Sans VBA :
VB:
=RECHERCHEV(STXT([@ID];CHERCHE(" ";[@ID])+1;CHERCHE("@";SUBSTITUE([@ID];" ";"@";2))-1-CHERCHE(" ";[@ID]))*1;Tableau1;2;0)

En VBA
Code:
Function Ch_Pays(ID As Range, Tabl As Range)
    Parties = Split(ID, " ")
    With Tabl.ListObject
        Set ID2 = .ListColumns(1).DataBodyRange.Find(Parties(1))
        y = .Range.Row
        Ch_Pays = .ListColumns(2).DataBodyRange.Rows(ID2.Row - y)
    End With
End Function
 
Re,

Avec une fonction personnalisée Vilkle()( dans module1 : Ville(xID, xRecherche) où xID est l'ID à rechercher et Xrecherche la plage de recherche.

Le code :
VB:
Function Ville(xID, xRecherche)
Dim t, ref, i&
   t = xRecherche.Value: ref = Val(Mid(xID, 5, 3))
   For i = 1 To UBound(t)
      If ref = t(i, 1) Then Ville = t(i, 2): Exit Function
   Next i
End Function
 

Pièces jointes

je tiens à vous remercier pour votre aide et votre soutien
 
je vous remercie pour votre aide
 
Salam

la fonction recherche ne fonctionne pas les caractère sans espace
 

Pièces jointes

Re,

Le code qui suit devrait le faire (avec ou sans espace) :
VB:
Function Ville(ByVal xID, xRecherche)
Dim t, ref, i&
   t = xRecherche.Value: xID = Mid(Replace(xID, " ", ""), 4)
   ref = Val(Left(xID, Len(xID) - 3))
   For i = 1 To UBound(t)
      If ref = t(i, 1) Then Ville = t(i, 2): Exit Function
   Next i
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
142
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…