XL 2016 Résolu VBA - Comparaison de cellules sur différentes feuilles

Archeon

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin de votre aide,

J'ai un classeur contenant deux feuilles
- La première contient une liste de remboursement avec en colonne B la référence du ticket du remboursement, et en colonne H la référence du ticket d'origine
- La deuxième contient une liste de passage caisse avec le mode de règlement en colonne D et la référence du ticket en colonne C

Mon souhait serait de pouvoir comparer les tickets et ajouter, à la première feuille dans les colonnes L et M, les modes de règlements utilisés.
Le but étant de comparer que le mode de règlement utilisé à l'origine par le client est le même que celui utilisé pour le rembourser.

J'ai tenté pas mal de choses, mais je ne suis pas assez formé pour comprendre, ni comment faire, ni où sont mes erreurs ;). La actuellement j'ai une erreur sur la ligne en rouge, avec le message "Référence de variable non valide dans Next"

Sub Controle_retour()

' Définition des variables
' ColRetour définit la zone à comparer dans l'onglet Source retours pour les tickets de retour
Dim ColRetour As Range
Set ColRetour = Worksheets("Source retours").Range("B1:B" & Range("B65536").End(xlUp).Row)
Dim TicRetour As Range

' ColEncaissement définit la zone à comparer dans l'onglet Source mode de règlement pour les tickets d'encaissement
Dim ColEncaissement As Range
Set ColEncaissement = Worksheets("Source mode de règlement").Range("C1:C" & Range("C65536").End(xlUp).Row)
Dim TicEncaissement As Range

' ColOrigine définit la zone à comparer dans l'onglet Source retours pour les tickets d'origine
Dim ColOrigine As Range
Set ColOrigine = Worksheets("Source retours").Range("G1:G" & Range("G65536").End(xlUp).Row)
Dim TicOrigine As Range


' Boucle de comparaison pour rapatrier les modes de règlement
For Each TicRetour In ColRetour
For Each TicEncaissement In ColEncaissement
If TicRetour.Value = TicEncaissement.Value Then
Worksheets("Source mode de règlement").Range("D" & TicEncaissement).Copy
Worksheets("Source retours").Range("L" & TicRetour).Paste
End If
Next TicRetour
Next TicEncaissement

' Boucle de comparaison pour rapatrier les modes de remboursement
For Each TicRetour In ColRetour
For Each TicOrigine In ColOrigine
If TicRetour.Value = TicOrigine.Value Then
Worksheets("Source mode de règlement").Range("D" & TicEncaissement).Copy
Worksheets("Source retours").Range("M" & TicOrigine).Paste
End If
Next TicRetour
Next TicOrigine

End Sub

Je vous met mon fichier, si vous avez un peu de temps à me consacrer se serait sympa. Soyez indulgent je me forme seul ^^
 

Pièces jointes

  • OB Contrôle retour.xlsm
    182 KB · Affichages: 10

Discussions similaires

Réponses
19
Affichages
477
Réponses
6
Affichages
425

Statistiques des forums

Discussions
313 329
Messages
2 097 235
Membres
106 883
dernier inscrit
Papalo