Re : renommer beaucoup d'image
Entre :
Img.Left = .EntireRow.Range("D1").Left
Et :
Img.Left = Img.TopLeftCell.Offset(0, 1).Left
Il n'y a aucune différence si l'image est bien située en colonne C à l'origine. C'est tout simplement ici l'illustration de l'utilisation des références absolues pour toi et des références relatives pour moi. Dans un certain contexte uniquement, les deux donneront la même chose.
Pour ta question subsidiaire, je pense qu'on trouve l'explication dans les conventions qu'on pratique tous et qu'on rencontre partout et tous les jours : le coin en haut et à gauche de l'objet sert de référence pour la même raison que tes cellules de feuilles Excel sont référencées en commençant par le haut et la gauche, que les coordonnées de ton écran commencent également en haut et à gauche, chez nous on écrit aussi normalement en commençant en haut et à gauche d'une feuille de papier, etc...
Au contraire, je pense que là, pour une fois, le raisonnement du développeur rejoint la logique "en générale"...
Cordialement,