Bonjour,
Oui je peux expliquer cette partie du code, commençons par:
Private Sub Worksheet_Change(ByVal Target As Range)
C'est la déclaration automatique de la macro événementielle de la feuille qui se lance lorsqu'une action spécifique est réalisée sur celle-ci, ici on voulait capturer un changement de la date de départ sur la cellule B1, cette macro donne également un objet Target que l'on peut utiliser, à savoir la cellule qui est modifiée.
Pour la suite je fais un test pour savoir si c'est bien la cellule B1 qui a été modifiée, on pourrai tester ça en demandant si la ligne et la colonne de Target sont bien 1 et 2 mais on peut aussi faire ça avec Intersect qui détermine si il y a une intersection entre plusieurs plages de cellules. On peut donc fournir a Intersect notre objet Target et dire quelles cellules, si elles sont modifiées, lancent le bout du code, puis tester si tout ça donne quelque chose, comme Intersect renvoie un objet, on peut tester si Intersect Is Nothing, en clair si la fonction ne renvoie rien (pas d'intersection trouvée), comme ici on veut lancer le code si il y a une intersection, on ajoute Not pour dire "si il y a une intersection alors". Si le test logique est validé, on appelle ensuite la macro qui s'appelle "fusion".
Voilà! J'espère avoir été clair.