Identifier une colonNe ajoutée et/ou supprimer entre deux fichiers
Bonjour à ts,
Voici mon pb.
J'ai un fichier que je met à jour tous les jours en utilisant ce mm fichier daté du jour précédent. Entre le jour J et le jour J-1, certaine lignes peuvent être ajoutées ou supprimées. J'aimerais pouvoir identifier lesquelles et afficher une valeurs (un nom) en MsgBox correspondant à la ligne supprimée ou ajoutée.
J'ai tenter plusieurs choses, comme copy/paste les deux colonnes (J et J-1)en correspondant aux noms sur une autre feuille. Puis un rechercheV qui identifie le si un nom a été ajouté ou supprimé et ensuite une MsgBox qui affiche la valeur, mais cela ne fonctionne pas.
Any idea?
voici le code que j'ai fait...je suis nouveau sur VBA donc veuillez m'excuser pr les énormités....ce code ne servira pas à grand chose je pense, mais c'est juste pr tenter d'expliquer la logique (si il en a une) que j'ai suivi
PS( ttes les variables ont été préalablement défini dans la macro qui tourne avant cette partie):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Set wsT = wb.Worksheets("Test")
count = wsB.Range("Name_A").Cells(Rows.count, 1).End(xlUp).Row
count1 = wsB1.Range("Name_A").Cells(Rows.count, 1).End(xlUp).Row
If count = count1 Then GoTo fin1
If count <> count1 Then
If count < count1 Then
wsB.Activate
Sheets.Add.Name = "Test"
wsB1.Activate
wsB1.Range("Name_A").Select
Selection.Copy
wsT.Activate
Range(Cells(1, 1), Cells(1, 1)).Select
ActiveSheet.Paste
wsB.Activate
wsB.Range("Name_A").Select
Selection.Copy
wsT.Activate
Range(Cells(1, 2), Cells(1, 2)).Select
ActiveSheet.Paste
i = Cells(1, 1).Row
j = Cells(300, 3).Row
For i = Range(Cells(1, 3), Cells(1, 3)) To j
Range(Cells(1, 3), Cells(1, 3)).End(xlDown).Formula = "=vlookup(cell(1,1).value;A1:B3000;2;false)"
Next i
For Each c In Range(Cells(1, 3), Cells(1, 3)).End(xlDown)
If Cells.Value = 0 Then
Rows.Select
Cells(1, 1).Select
Selection.Copy
Range(Cells(1, 10), Cells(1, 10)).Activate
ActiveSheet.Paste
End If
Next c
MsgBox ("cells(1,10) a été supprimé")
End If
End If
fin1: |