Bonjour
Quand on crée un TCD sur des colonnes complètes, on obtient des vides pour chaque champ, ce qui est logique.
Tu as au moins la version 2007 donc met la source sous forme de tableau et base le TCD sur le tableau
Si tu places "nombre de partie" en étiquette de colonne, Excel regarde les diverses valeurs de cette colonne et affichera une colonne pour chaque, donc dans tons cas 1 et vide.
Tu as un problème de conception du TCD. Ce champ devrait sans doute être en valeurs
Ta plage en G12:J15 devrait aussi être sous forme de tableau ce qui éviterai des lignes pré formulées qui compliquent la copie...
Il suffirait pour le VBA de recopier lm databodyrange du tableau (listobject) sans se avoir à chercher la ligne de fin ni supprimer les lignes vides.
Ton VBA date des versions antérieures avec la limite de 65000 lignes : il faut s'adapter à qu'offrent les nouvelles versions.