RechercheV de plusieurs valeurs dans une même cellule

Bonjour à tous,

je bloque depuis longtemps sur une formule que me ferait gagner un temps fou !

Dans une colonne A1:A2:A3 un numéro de commande par cellule ex 075272,075245

Dans une colonne B1:B2:B3 une référence par cellule ex AAAA, BBBB

Dans une seule cellule D1 où se trouve des numéros de commande, séparé par un ; exemple 075272;075245 etc...

Dans une cellule E1, je voudrais que la rechercheV ou autre, fasse apparaître dans une même cellule la ou les références correspondantes, séparée par des ; exemple AAAA;BBBB etc...

Est-ce qu'il existe une combinaison de formule excel ou bien faut-il passer par VBA.

Merci pour vos réponses

159exemple.xlsx (10.25 Ko)

Bonjour,

Excel est assez pauvre en fonction de manipulations de chaînes un peu sophistiquées. On y parvient par des combinaisons plus ou moins compliquées de fonctions texte existantes, éventuellement en passant par des résultats-relais... mais c'est un domaine dans lequel VBA permet de bâtir des fonctions personnalisées plus facile à construire et à utiliser que les combinaisons évoquées.

Donc :

Function SUBSTITARTREF(liste As String, rf As Range, art As Range)
    Dim tbra, a%, i%
    Application.Volatile
    If art.Cells.Count < rf.Cells.Count Then Exit Function
    tbra = Split(Trim(liste), ";")
    For a = 0 To UBound(tbra)
        For i = 1 To rf.Cells.Count
            If rf.Cells(i) = tbra(a) Then
                tbra(a) = art.Cells(i)
                Exit For
            End If
        Next i
        If i > rf.Cells.Count Then tbra(a) = "?"
    Next a
    SUBSTITARTREF = Join(tbra, ";")
End Function

Cette fonction est à placer dans un module standard. Et elle s'utilise ensuite comme toute autre fonction d'Excel.

Comme toute autre fonction il faut lui fournir les paramètres de la recherche à opérer séparés par des point-virgules :

la "liste" des références recherchée sous forme de chaîne (éléments séparés par , la plage des références parmi lesquelles rechercher, la plage des articles correspondant aux références.

Soit: =SUBSTITARTREF(D4;A2:A8;B2:B8)

et la formule renvoie le résultat demandé.

Cordialement.

380mygoo-exemple.xlsm (16.89 Ko)

Bonjour,

un essai en VBA comme ceci

avec des zones nommées dans la feuille ...

P.

edit: coucou à M Ferrand , pas rafraichi

459exemple-8.xlsm (17.27 Ko)

Merci !!!

cela répond à tous mes espoirs !

Merci encore !!!!

Rechercher des sujets similaires à "recherchev valeurs meme"