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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
Sub Compare70()
'déclaration des variables
Dim VAL71, POS71, VAL72, POS72, POS73 As Integer
'activation de la feuille de macro
Workbooks("ELA.xls").Activate
'valeur de base des positionnement des ligne (elles s'incrémentent petit a petit)
POS71 = 1
POS72 = 1
POS73 = 2
'récupération de la valeur de la premiere cellule de la premiere colonne
Sheets("ALL_MOD1").Activate
VAL71 = Cells(POS71, 1).Text
'récupération de la valeur de la premiere cellule de la deuxiéme colonne
Sheets("ALL_MOD2").Activate
VAL72 = Cells(POS72, 1).Text
'boucle qui vérifie si la cellule a la position POS71 de la collone 1 est vide, si c'est vrai on sort de la boucle
Sheets("ALL_MOD1").Activate
While Not IsEmpty(Cells(POS71, 1))
'Dé-activations du refresh
Application.ScreenUpdating = False
'While POS71 < 10
'boucle qui vérifie si la cellule a la position POS72 de la collone 2 est vide, si c'est vrai on sort de la boucle
Sheets("ALL_MOD2").Activate
While Not IsEmpty(Cells(POS72, 1))
'While POS72 < 2500
' cette boulce verifi la val de la col 1 avec val de la col 2, si egale on passe a la cellule suivante de col 1
' sinon on passe a la valeur suivant dans col 2
' si on ne trouve pas la mod de col 1 dans col 2 on ecris cette valeur dans une autre feuille
If VAL71 = VAL72 Then
'Si la cellule de la col 1 = la cellule de col 2 on incrémente est on passe a la cellulre suivant de la col 1
POS71 = POS71 + 1
Sheets("ALL_MOD1").Activate
VAL71 = Cells(POS71, 1).Text
' on repasse la position de le colonne 2 a 1 pour re vérifier dans l'ordre
POS72 = 1
Else
' si les cellules sont différence on incremente les ligne de la col2
POS72 = POS72 + 1
Sheets("ALL_MOD2").Activate
VAL72 = Cells(POS72, 1).Text
End If
'Else
Sheets("ALL_MOD2").Activate
VAL72 = Cells(POS72, 1).Text
'End If
Wend
'la mod de col 1 dans col 2 est introuvable on ecris cette valeur dans une autre feuille, la feuille DELTA
Sheets("DELTA").Select
Cells(POS73, 1).Value = VAL71
VAL73 = Cells(POS73, 4).Text
POS73 = POS73 + 1
POS71 = POS71 + 1
Sheets("ALL_MOD1").Select
VAL71 = Cells(POS71, 1).Text
Sheets("ALL_MOD1").Select
If Not IsEmpty(Cells(POS71, 1)) Then
POS72 = 1
Sheets("ALL_MOD2").Activate
VAL72 = Cells(POS72, 1).Text
Sheets("ALL_MOD1").Select
VAL71 = Cells(POS71, 1).Text
End If
Sheets("ALL_MOD1").Select
VAL71 = Cells(POS71, 1).Text
'Ré-sactive la mise à jour de l'affichage
Application.ScreenUpdating = True
'Wend
'POS71 = POS71 + 1
Wend
End Sub |
Partager