Bonjour,
Voici un essai compte tenu de votre besoin.
Sub CopierSiteOui()
Dim wsG as worksheet, ws as worksheet
Dim plage as range
Set wsG = Sheets("General")
for each ws in worksheets 'pour chaque feuille
if ws.name Like "Site*" then 'si feuille commence par "Site"
set plage = intersect(ws.range("D:D"), ws.usedrange) 'definition de la plage a tester (col D utilisée)
for each cell in plage 'pour chaque cellule de col D
if cell.value = "oui" then 'si valeur "oui"
cell.rows(cell.row).copy wsG.cells(wsG.usedrange.rows.count + 1, 1) 'copie la ligne dans General, à la 1e ligne "dispo"
end if
next cell
end if
next ws
End sub
Cdlt,