Si le chemin ne change jamais, oui modifie le code comme tel cela devrait aller (enfin je n'ai pas retesté):
Sub Enregistrer()
Dim ClasseurIni As String, Nom As String
Workbooks("cdes.xls").Activate
Worksheets("BBBB").Select
ActiveWorkbook.Save
ClasseurIni = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
Nom = "P:\sauve\" & Range("J4") & Range("I4") & Range("H4") & ".xls"
ActiveWorkbook.SaveAs Nom
ActiveWorkbook.Close
Workbooks.Open (ClasseurIni)
End Sub
Sinon oui le fonctionnement est bien celui-ci, en fait quand on enregistre sous, cela te bascule automatiquement sur le fichier avec le nouveau nom en fermant celui de départ (je ne sais même pas si ca le sauvegarde d'ailleurs).
Du coup, au lancement de la macro, je récupère le nom / chemin de ton fichier de base (cdes.xls), je le sauvegarde pour prendre en compte les changements sinon il faut enlever la ligne
ActiveWorkbook.Save
puis je fais l'enregistrer sous.
Du coup je me retrouve sur le nouveau fichier, que je ferme, et je réouvre celui de base avec le chemin enregistré.
Cordialement.