Bonjour SpaceX, LouReeD, bonjour le forum,
Rien de plus pénible que de travailler à partir d'une capture d'écran alors qu'il est tout aussi facile de proposer le fichier !... Ça nous oblige à tout réécrire pour tester la proposition et, en plus, il faut souvent que le demandeur fasse des ajustements du code. Donc, SpaceX pour la prochaine fois je te conseille vivement de mettre le fichier et pas sa photo !...
Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim R As Range 'déclare la variable R (Recherche)
Dim PA As String 'déclare la variable PA (Première Adresse)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Set OS = Worksheets("Feuil1") 'définit l'onglet source OS (à adapter à ton cas)
Set OD = Worksheets("Feuil2") 'définit l'onglet destination OD (à adapter à ton cas)
Set R = OS.Columns(5).Find(">limite", , xlValues, xlWhole) 'définit la recherche R (recherche les occurrences de ">limite" dans la colonne 5 (=E) de l'onglet source OS
If Not R Is Nothing Then 'condition : s'il existe au moins une occurrence
PA = R.Address 'définit l'adresse PA de la première occurrence trouvée
Do 'exécute
'définit la cellule de destination DEST (A1 si A1 est vide, sinon la première cellule vide de la colonne A de l'onglet destination OD)
If OD.Range("A1").Value = "" Then Set DEST = OD.Range("A1") Else Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
DEST.Value = Mid(OS.Cells(R.Row, 1).Value, 3) 'récupère les numéros de R
DEST.Offset(0, 1).Value = Mid(OS.Cells(R.Row, 2), 3) 'récupère les numéros de T
DEST.Offset(0, 2).Value = OS.Cells(R.Row - 2, 1) 'récupère le nom
Set R = OS.Columns(5).FindNext(R) 'redéfinit la recherche R (occurrence suivante)
Loop While Not R Is Nothing And R.Address <> PA 'boucle tant qu'il existe de nouvelles occurrences ailleurs qu'en PA
End If 'fin de la condition
End Sub
[Édition]
Ooops ! 'ach'ment en r'tard moi... Bonjour BDA.