Bonjour,
L'activation de la feuille "Fiche réponses" se trouve dans la boucle For ...Next et dans le test If ....
Si dans la dernière itération le test est faux, on ne lance pas l'instruction pour afficher la feuille.
Il faut donc "sortir" l'instruction Sheets("Fiche réponses").Activate pour la placer après le Next.
Par ailleurs, le fait d'activer les feuilles et passer par des Select n'apporte que perte de temps à afficher ces feuilles et rend la lecture du code malaisée.
Sheets("Base SAP").Cells(i, 1).Select
Selection.EntireRow.Copy
Sheets("Fiche réponses").Activate
ActiveSheet.Range("A65000").End(xlUp).Offset(1).Select
ActiveSheet.Paste
Il vaut mieux utiliser ce genre d'écriture :
Sheets("Base SAP").Cells(i, 1).EntireRow.Copy _
Sheets("Fiche réponses").Range("A" & Sheets("Fiche réponses").Range("A" & Rows.Count).End(xlUp).Row + 1)
Dans la mesure où les range sont affectés à une feuille précise, on peut (doit) omettre les activate des feuilles.
On pourrait passer par des variables pour remplacer la lourdeur d'écriture du genre
Sheets("Fiche réponses").Range("A" & Sheets("Fiche réponses").......
par
Set Fic=Sheets("Fiche réponses")
Fic.Range("A" & Fic. ...
A+