Recherche V multiple + Concatener

Bonjour!

Je... Je galère. Je vous explique:

Ligne B: Repère1 Repère2 Repère3 Repère4 etc (suite répétitive, à priori, mais je dois pouvoir renommer les repères, sous format texte)

Ligne C: Type 1, Type 2, Type 1, Type 4... (Pas de répétition ici. Cellules sous format texte également)

J'ai besoin qu'une cellule puisse chercher, par exemple, tous mes Types 1, et me renvoie le nom des repères (la cellule au dessus). Idéalement séparés par des virgules.

Résultat attendu:

Type 1: Repère1, Repère3, Repère x (format texte aussi, du coup)

La recherche doit se faire sur toute la ligne (à partir de B2, jusque à ZZZ2 quoi...)

Merci infiniment pour votre aide, j'ai énormément besoin de cet outil qui serait formidable pour moi et je rame énormément...

10reperes-0-3.xlsx (12.21 Ko)

Bonsoir Anthelm, bonsoir le forum,

Une proposition VBA. Tapes par exemple 01 dans la boîte de dialogue et valide :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim BE As Variant 'déclare la variable BE (Boîte d'Entrée)
Dim COL As Integer 'déclare la variable COL
Static TP As String
Dim K As Integer 'déclare la variable K
Dim TR() As Variant 'déclare la variable TR (Tableau des Repères)
Dim L As String 'déclare la variable L (Liste)

Set O = Worksheets("Repères") 'définit l'onglet O
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
BE = Application.InputBox("Quel Type de repère ?", "RECHERCHE", Type:=2) 'définit la boîte d'entrée BE
If BE = False Or BE = "" Then Exit Sub 'si bouton [Annuler] ou non renseignée, sort de la procédure
For COL = 2 To UBound(TV, 2) 'boucle sur toutes les colonne COL du tableau des valeur (en partant de la seconde)
    'condition : si la donnée ligne 3 colonne COL de TV contient le texte BE
    If InStr(1, TV(3, COL), BE, vbTextCompare) <> 0 Then
        TP = TV(3, COL) 'définit le type TP
        ReDim Preserve TR(K) 'redimensionne le tableau des repères
        TR(K) = TV(2, COL) 'récupère dans la ligne K de TR le repère en ligne 2 colonne COL de TV)
        K = K + 1 'incrémente K
    End If 'fin de la condition
Next COL 'prochaine colonne de la boucle
L = Join(TR, ", ") 'définit la variable L (liste les élément du tableau de repères en les séparant par une virgule et un espace)
MsgBox "Type " & TP & Chr(13) & Chr(13) & L 'affiche la liste
End Sub

Bonjour et merci beaucoup pour ta réponse!

J'ai aucune connaissances sur ça, j'ai du mal à comprendre la macro...

Mais déja je sent que si je fais un copier coller tout simple, ça va déconner, car il y a deux feuilles séparés. (les valeurs sont sur une des feuilles et je voudrais les faire arriver sur une autre)

Je suis désolé de te demander ça mais... Aurais tu la possibilité de la mettre sur le fichier, ou de m'aiguiller un tout petit peu plus?

Merci infiniment...!

Ceci dit, si quelqu'un à une idée pour faire ça avec une formule, n'hésitez pas...!

Au delà de ça j'ai sur ma première feuille une cellule "Présent sur repères:"

Je souhaite afficher les repères ou cette désignation est présente.

"Présent sur repères:""Repère 1, ..." etc

Le truc c'est que cette colonne va être copiée, j'ai donc besoin que la formule suive! c'est vraiment impossible de le faire sans macro?

Rechercher des sujets similaires à "recherche multiple concatener"