Bonjour
Donner un avis sur un code surtout quand on a rien pour tester ce n'est pas évident
Je considère ta demande comme un exercice de style "Cherchez les erreurs" et surtout pas une critique de ton code
Et en plus j'avais du temps
Tes lignes de déclaration des variables:
Exemple celle ci
Dim NbLgInventaire, NbLgImputation As Long
Sera interprétée comme ceci
Dim NbLgInventaire As Variant, NbLgImputation As Long
A quoi sert le fait d'écrire dans ton tableau, toujours au même endroit
Je m'explique
Tu compares une donnée d'une page avec toutes les données d'une autre page, et tant que le test est faux tu écris dans ton tableau, toujours dans le même élément une donnée qui change
If RefImputation = RefInventaire Then
' Le test est bon tu écris ta valeur et tu quittes
TabloImputation(CompteurInventaire - 1, 1) = "Emballages"
Exit For
Else
' Le test est faux tu écris une valeur dans ton tableau et tu boucles
TabloImputation(CompteurInventaire - 1, 1) = shInventaire.Range("A" & CompteurInventaire).Value
End If
A quoi sert la variable Imputation ?