Bonjour,
ça marchera mieux comme ça :
Private Sub Worksheet_Change(ByVal Target As Range)
If [c4] = "2" Then
Sheets("Feuil2").Select
Sheets("Feuil2").Range("a1").Select
ElseIf [c4] = "3" Then
Sheets("Feuil3").Select
Sheets("Feuil3").Range("a1").Select
End If
End Sub
Une private Sub agit par défaut sur la feuille "propriétaire du module" à moins de spécifier à chaque fois la feuille cible :
Sheets("Feuil2").Select
Range("a1").Select 'sélectionne la cellule A1 dans la feuille1 (à condition de mettre des guillemets...)
Sheets("Feuil2").Select
Sheets("Feuil2").Range("a1").Select sélectionne bien la cellule prévue...
A+