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
|
Sub tris_atc()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim j1 As Integer
i = lignevide(1, 1) 'nombre de lignes vide en debut de fichier, entete = ligne vide
j = lignevide(1, 2)
k = nbrligne(i, 1)
l = nbrligne(j, 2)
i = i + 1 'on saute le nombre de ligne vide pour se placer sur la premiere ligne effective
j = j + 1
j1 = j
'parcour de la 1er feuille
While i < k
Worksheets(1).Cells(i, 1).NumberFormat = "@" 'on convertie les données en texte
Worksheets(1).Cells(i, 1) = "000" & Cells(i, 1).Value 'rajout des 000 pour avoir la meme mise en forme que le feuille2
Worksheets(1).Cells(i, 3).NumberFormat = "@"
If Worksheets(1).Cells(i, 3) < 10 Then 'rajout des 0 au code atc
Worksheets(1).Cells(i, 3) = "00" & Cells(i, 3).Value
ElseIf Worksheets(1).Cells(i, 3) > 10 And Worksheets(1).Cells(i, 3) < 100 Then
Worksheets(1).Cells(i, 3) = "0" & Cells(i, 3)
End If
'parcour de la 2ieme feuille
For j = j1 To l
'si pour le meme code on a des atc differents alors on inscrit 1 dans la colonne "E"
If Worksheets(1).Cells(i, 1) = Worksheets(2).Cells(j, 2) Then 'comparaison code client
If Worksheets(1).Cells(i, 3) <> Worksheets(2).Cells(j, 1) Then 'comparaison code atc
Worksheets(2).Range("E" & j) = 1 'inscription de la velaur 1 dans la colonne E
Worksheets(2).Range("F" & j) = Worksheets(1).Cells(i, 3).Value 'rappel du code atc de la premiere feuille
j1 = j 'on repart de la ou on s'est arreté car code classé dans orde croissant
Exit For
End If
j1 = j
Exit For
End If
Next
i = i + 1 'on passe a la ligne suivante de la premiere feuille.
Wend
End Sub |
Partager