Salut à tous, j'ai un problème avec le script que j'utilise pour comparer les données de 2 feuilles excel d'un même classeur. En fait je constitue une liste qui me recupère les données de la 1ere feuille et je veux comparer les données de la 2e feuille à celle de la liste. Voici le script :
With Sheets("Nouveau")
Set zone1 = .Range(.Cells(2, 1), .Cells(.Range("A" & Application.Rows.Count).End(xlUp).Row, 1))
End With
With Sheets("Ancien")
Set zone2 = .Range(.Cells(2, 1), .Cells(.Range("A" & Application.Rows.Count).End(xlUp).Row, 1))
End With
For Each z2 In zone2 'constitution d'une liste sans doublons des "Anciens"
If Not liste.exists(z2.Value) Then liste(z2.Value) = z2.Value 'on crée une liste avec le fichier ancien.
Next z2
Maintenant j'aimerais pouvoir faire compiler ceci qui ne fonctionne pas :
If liste.exists(z1.Value) Then ' c'est ici qu'on calcul les départs en TGI.
'If z2.Offset(0, 6) = "01" And z1.Offset(0, 8) = "11" Then deptgi = deptgi + 1 ceci passe pas
If z1.Offset(0, 8) = "11" And liste(z2.Offset(0, 6)) = "01" Then deptgi = deptgi + 1 'ceci aussi donne une erreure
En fait il ya des personnes de ma 1ere feuille (Ancien) qui avaient le code "01" pour qui se code est devenu "11" dans la seconde feuille (Nouveau). Il faut noter aussi qu'il n'ya pas de doublons dans mes données. Merci d'avance ...
End If
With Sheets("Nouveau")
Set zone1 = .Range(.Cells(2, 1), .Cells(.Range("A" & Application.Rows.Count).End(xlUp).Row, 1))
End With
With Sheets("Ancien")
Set zone2 = .Range(.Cells(2, 1), .Cells(.Range("A" & Application.Rows.Count).End(xlUp).Row, 1))
End With
For Each z2 In zone2 'constitution d'une liste sans doublons des "Anciens"
If Not liste.exists(z2.Value) Then liste(z2.Value) = z2.Value 'on crée une liste avec le fichier ancien.
Next z2
Maintenant j'aimerais pouvoir faire compiler ceci qui ne fonctionne pas :
If liste.exists(z1.Value) Then ' c'est ici qu'on calcul les départs en TGI.
'If z2.Offset(0, 6) = "01" And z1.Offset(0, 8) = "11" Then deptgi = deptgi + 1 ceci passe pas
If z1.Offset(0, 8) = "11" And liste(z2.Offset(0, 6)) = "01" Then deptgi = deptgi + 1 'ceci aussi donne une erreure
En fait il ya des personnes de ma 1ere feuille (Ancien) qui avaient le code "01" pour qui se code est devenu "11" dans la seconde feuille (Nouveau). Il faut noter aussi qu'il n'ya pas de doublons dans mes données. Merci d'avance ...
End If