Bonjour,
Difficile d'être indulgent dans ces conditions ! La programmation est un art qui exige une grande rigueur : Les gribouillages ne sont pas de mise !
Pour essayer de positiver, si tu débutes dans VBA, va dans le menu VBA : Outils > Options et assure toi que toutes les options sont cochées.
Concernant ta page de code : rajoute tout en haut (Sur la première ligne) Option Explicit
Ensuite avant d'exécuter une macro va dans débogage et assure toi dans le menu Débogage en cliquant Compiler VBA Project que ton code est correct.
N'utilise aucune variable avec une seule lettre et utilise des noms de variables explicit (évocateur, compréhensible) :
Si le correcteur téméraire qui relie ton code essaie de corriger un peu, une lettre isolée ne peut pas être remplacée dans ton code tandis que des noms de variable de 2 ou 3 caractères sont facilement identifiables et remplaçables si quelque chose est peu compréhensible dans ton code...
DerCol et DerLig sont à la rigueur convenable pour peu qu'il n'y en ai pas un pour chaque ligne et chaque colonne...
DerLig et DerCol s'entendent pour toutes les lignes de ta feuille il n'y a aucune bonne raison pour que DerColA et DerColB soit différents. Idem pour DerLig...
Si c'est le cas c'est que le nom de ta variable est mal choisi. Ou la feuille mal conçue...
Dans l'immédiat ce code est incompréhensible et m'a mis de fort méchante humeur ! Il me faudra bien un bon petit déjeuner un une bonne partie de l'après midi pour essayer de comprendre ce que tu as voulu bricoler.
Dans l'immédiat, là, trop c'est trop !
Je relirai donc cela à tête reposé quand j'aurai quelques heures devant moi pour réécrire le tout de manière intelligible.
A+