@job75
Bonjour,
Merci pour ton retour.
Je suis parti de codes retrouvés ici et là, notamment sur un sujet résolu par Gosselien et qui fonctionnait bien (mais que je n'ai pas su adapter).
La formule me semble toutefois correcte dans sa rédaction et en la collant dans un moteur de recherche on arrive à une formule à regarder aussi.*
Ce lien n'existe plus
(mais s'il n'y a pas d'équivalence retrouvée, il faut sortir de la boucle = ok )
Bonne soirée.
thierry
* Je vais reprendre le pas à pas détaillé pour voir si je peux faire quelque chose de ce premier code (parce que fonctionnant sur le premier tableau) avec cette proposition de code, la réponse adaptée de Pierre-Jean ne m'empêchant pas de continuer à chercher de mon côté !
Edit :
Un changement de positionnement de certaines lignes dans le code a permis de répondre à la solution avec la première version
(en bleu). C'est pour info", le code de Pierre-Jean fonctionne parfaitement.
Sub copy_findnext()
Dim cel As Range
Dim derligne As Integer, firstcol, celcol, celrow
Dim FirstAdress As String
On Error Resume Next
With Worksheets("5.findnext").Range("a1:e500")
Set cel = Cells.Find(What:="perf.KE", LookAt:=xlWhole)
If Not cel Is Nothing Then
firstAddress = cel.Address
Do
celcol = cel.Column
celrow = cel.Row
derligne = Cells(celrow, celcol).End(xlDown).Row
firstcol = Cells(celrow, celcol).End(xlToLeft).Column
Range(Cells(celrow, celcol), Cells(derligne, celcol)).Copy
Range(Cells(celrow, celcol), Cells(derligne, celcol)).Offset(0, 6).PasteSpecial Paste:=xlValues
Range(Cells(celrow + 1, celcol), Cells(derligne, celcol)).Offset(0, 7).FormulaR1C1 = "=+RC[-1]-RC[-7]"
Set cel = .FindNext(cel)
Loop While Not cel Is Nothing And cel.Address <> firstAddress
End If
End With
End Sub