Bonjour,
Oui, j'ai bien compris, mais elle est vidée, quand? comment?
il faut bien un élément déclencheur de la macro, une macro ne peut pas se lancer sans raison parce qu'une cellule est vide, il faut détecter un changement d'état dans la feuille, soit lors d'une sélection d'une cellule, soit du changement du contenu de la cellule, ce dernier cas que j'ai proposé.
Vous pouvez faire une copie de cette macro et la coller dans le dans le module "Thisworkbook" dans "Private Sub Workbook_Open()" pour quelle se déclenche à l'ouverture du fichier. Si à l'ouverture la cellule D19 est vide, cela lancera la macro "Ban". Ensuite comme j'ignore totalement ce que fait cette macro "Ban", mais je peux imaginer qu'elle remplisse cette cellule D19, et si par la suite, cette dernière venait à être à nouveau vidée de son contenu, la macro "Private Sub Worksheet_Change" prendrait le relais. Mais sans plus de précisions de votre part, difficile de mieux répondre à vos attentes.
En attendant, en plus de la macro déjà proposée précédemment , ajoutez cette macro dans le module "Thisworkbook"
Private Sub Workbook_Open()
If Target.Address = "$D$19" And IsEmpty(Target) Then ban
End Sub
Cdlt