Faire une recherche

Bonsoir

Voila j'ai un fichier src (équivalent txt) que je met dans un fichier excel après quelque formule, macro j'obtient se que j'ai dans la colonne D (oui j'ai simplifier mon fichier excel car sinon c'est le bordel )

Ensuite j'ai un fichier dat que j'ai mis dans la colonne B

J'aimerais réussir à mettre dans la colonne E les lignes qui corresponde

Exemple dans D2 j'ai p10_sr et dans E2 j'aimerais mettre la correspondance trouvé dans la colonne B

Donc dans D2 = p10_sr

dans E2 = DECL E6POS p10_sr={X 6045.08398,Y -2241.06689,Z 975.955994,A 51.8287315,B 13.0196104,C 3.48575306,S 2,T 10,E1 -50.0002403,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}

Ps il y a des ligne avec DECL E6POS et DECL PDAT et moi je ne souhaite avoir que les lignes avec DECL E6POS

Si c'est pas clair dites le moi merci

2exemple.xlsx (14.95 Ko)

Bonsoir

A tester en E2 et tirer vers le bas

=INDEX($B$38:$B$109;EQUIV("*"&D2&"*";$B$38:$B$109;0))

Merci ça fonctionne mais si jamais c'est DECL PDAT qui se trouve avant ça ne fonctionne pas donc il faudrait que je sépare les DECL PDAT des DECL E6POS pour que ça fonctionne?

je vais modifier ma colonne D2 en rajoutant E6POS devant comme ça c'est réglé

Bonjour,

à tester,

Sub test()
Dim keywords As String, firstAddress As String, c As Range
Dim sh As Worksheet, i As Long, col As Integer
Set sh = ActiveSheet
mot = sh.Range("D1:D" & sh.Cells(Rows.Count, "D").End(xlUp).Row).Value

For i = LBound(mot) To UBound(mot)
  keywords = mot(i, 1)

  With Range("B:B")
    Set c = .Find(keywords, LookIn:=xlValues, LookAt:=xlPart)
    If Not c Is Nothing Then
        firstAddress = c.Address

        Do
            col = Cells(i, Columns.Count).End(xlToLeft).Column
            Cells(i, col + 1) = c.Row
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
 End With
Next i
End Sub

merci i20100

Donc ensuite faut que je récupère la ligne ou il m'a trouvé le résultat

re,

remplace le code:

Cells(i, col + 1) = c.Row

par celui-ci:

Cells(i, col + 1) = Cells(c.Row, "B").Value

Merci beaucoup c'est niquel il me faut juste que j'arrange ma colonne D pour bien prendre que les valeurs que je souhaite et se sera parfait

Rechercher des sujets similaires à "recherche"