Bonjour Hosni,
Si tu as récupéré le code du fichier que j'ai mis sur le forum pour le mettre dans ton fichier, il faut alors soit remettre ce fichier, soit nous décrire exactement le problème.
Pour décrire exactement le problème, il faut que tu utilises le mode de débogage pour comprendre ce qui, dans la ligne, pose le problème. Pour cela, il faut que tu t'aide de la fenêtre Espion : Dans la fenêtre VBE, menu Affichage/Fenêtre espion. Quand tu as l'erreur, l'exécution du code s'arrête, alors tu glisses les objets ou variables, un par un pour voir celui qui est en erreur, par exemple : "Sheets("Source").Range("I1:I" & Sheets("Source").Range("I65536").End(xlUp).Row)" ou "Sheets("Source")", attention il faut bien prendre chaque objet dans la globalité... Ou alors il faut le sélectionner (c'est le problème avec les objets définis à l'aide de With) et combiner les touches Maj-F9, un fenêtre s'affiche alors donnant la valeur de la variable.
Enfin tu reviens sur le forum pour nous dire quel est l'objet ou la variable en erreur.
De toute façon, si le fichier que je t'ai envoyé fonctionne chez moi sur 3 versions d'Excel et pas chez toi, le problème est peut-être lié à Excel chez toi ou ton environnement, Mac par exemple.
Ensuite on fera d'autre tests
Voici le fichier qui fonctionne parfaitement chez moi :