Voici une option
A noter que j'ai inséré la ligne dans l'évènement "SelectionChange" mais que tu peux l'associer à un autre évènement "Calculate" "Activate" selon ton besoin
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [A65536].End(xlUp).Row = 1 And [A1] = "" Then Call macro1
End Sub
Bonne soirée
Edit : il y a tant d'années que je n'ai pas répondu sur le forum que j'ai oublié les balises à utiliser pour que la macro se distingue du corps de la réponse
Option Explicit
Sub Macro_exécuter_si_colonne_x_vide()
If Application.WorksheetFunction.CountA(Range("a:a")) = 0 Then
Call macro1
Else
MsgBox "La colonne a n'est pas vide !"
Exit Sub
End If
End Sub