Comparer 2 groupes de cellule
Bonjour à tous,
Je cherche à comparer des cellules (4 par lignes) de la Feuille 2 aux cellules de la Feuille 1.
Par exemple dans la Feuille 2 j'ai :
A B C D
01/04/18 -1 TRUC10
Et je voudrais savoir si ce groupe de cellule (et pas ligne car je veux garder ma formule dans la colonne H de ma Feuille 1) est présent dans la Feuille 1.
Si oui, ne pas insérer ce groupe de cellule.
Si non, insérer ce groupe de cellule.
Le résultat de cette macro, pour cet exemple dans le fichier ci-joint, serait que les groupes de cellule entre le 23 mars 2018 et le 10 avril 2018 se rajoute au dessus. Je ne pense pas qu'un tri soit nécessaire, quand je récupère mes données bancaires via un excel, j'aurais qu'à rajouter les dernières "lignes" les plus récentes.
J'avais pensé par commencer à vérifier via un For Each Cells et mettre les groupes de cellules non présente dans un tableau virtuel mais j'avoue me perdre un peu... J'ai tenté de créer un tableau dynamique assez simple pourtant pour tester mais j'ai une erreur. Et j'ai l'impression que cells(i,1) ou pour les autres colonnes, ne fonctionne pas très bien car le "c" n'est pas en majuscule. Ca me le met direct en minuscule, je ne comprend pas pourquoi.
DLig = Range("A" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
For i = 4 To DLig
If cells(i, 1) <> "" Then
tableau = cells(i, 1) & cells(i, 2) & cells(i, 3) & cells(i, 4)
MsgBox tableau
End If
Next i
Le but final est de mettre à jour mes données bancaires dans un fichier excel pour le suivi de mes comptes.
Je suis aussi preneur de comment faire, et de ne pas avoir la réponse de suite
Voici le fichier :
Merci,
Fred
Bonjour Fred,
le résultat est mis sur la Feuil2 en colonne E
à tester,
Sub Vérifier_transfert()
Set sh1 = Sheets("Feuil1")
Set sh2 = Sheets("Feuil2")
DLig1 = sh1.Range("A" & Rows.Count).End(xlUp).Row
DLig2 = sh2.Range("A" & Rows.Count).End(xlUp).Row
For i = 4 To DLig2
With sh2
tableau2 = .cells(i, 1) & .cells(i, 2) & .cells(i, 3) & .cells(i, 4)
End With
For n = 3 To DLig1
With sh1
tableau1 = .cells(n, 1) & .cells(n, 2) & .cells(n, 3) & .cells(n, 4)
End With
If tableau1 = tableau2 Then sh2.cells(i, 5) = 1
Next n
Next i
End SubBonjour sabV,
Merci pour ton code
J'ai pu continuer ma macro pour ainsi rajouter les lignes non présentes dans la feuille 1 ET présente dans la feuille 2.
Pour refaire des tests, il faut juste sélectionner les lignes les plus récentes pour voir si cela rajoute des lignes.