Re,
en premier lieu
Sheets("Macro").Range("A1") = Workbooks(ActiveWorkbook.Name).Path
peut être remplacé par
Sheets("Macro").Range("A1") = ActiveWorkbook..Path
pour le classeur actif ou
Sheets("Macro").Range("A1") = ThisWorkbook.Path
pour le classeur contenant la macro en cours d'exécution
Pour cela, c'est exactement ce que
@Wayki vous a dit
Bien cordialement, @+