Rebonjour,
Dans ce cas une question en plus, tu dis qu'il ne rentre jamais dans ton If, il se fait toujours refouler par le teste c'est bien ça?
Si tu mets un espion sur la valeur : sh1.Range("g" & lig_maxi).Value
En faisant clic droit ajouter un espion sur cette portion de code, est ce qu'il t'affiche bien une valeur numérique, est ce que tu as bien une valeur supérieure à 0, si le test ne marche pas, c'est qu'il y a un soucis avec la valeur que l'on teste, si ça passes bien le If et que tu pars sur le chargement du code matière mais que ça ne marche pas, il faut voir si le find te trouve bien ce que tu veux :
Pour ça tu fais un espion sur ça par exemple :
wbk2.Sheets(2).Range("a" & wbk2.Sheets(2).Range("d:d").Find("121-33-5_30PG").Row)$
Ou encore sur ça :
wbk2.Sheets(2).Range("d:d").Find("121-33-5_30PG").Row
Pour voir si ça renvoie la ligne prévue, courage, tu n'es pas loin d'avoir un code VBA qui fonctionne