Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Archeon, le forum

Pourquoi une macro, une formule de recherche ne suffit pas ?

Cordialement, @+
 

Pièces jointes

  • OB Contrôle retour - Copie.xlsm
    193.8 KB · Affichages: 14

Discussions similaires

Réponses
12
Affichages
250
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…