Bonour,
ci joint le code de ma macro.
Avant elle choisissait une colonne opur faire son tri:
Si elle trouve deux lignes avec le meme nom de company il garde le nom dans la premiere ligne et l'efface dasn la deuxieme.
Ensuite il colore les lignes 1 sur 2 en fonction des noms des company.
Ma question, est on vient de changer le modele pour utiliser la macro et donc elle fait le tri en fonction de la mauvaise colonne. Je ne trouve pas dans le code ou est referncee cette colonne.
Merci de votre aide
La macro est longue si vous penesez que l'info est ailleurs je la mettrais en entier
ci joint le code de ma macro.
Avant elle choisissait une colonne opur faire son tri:
Si elle trouve deux lignes avec le meme nom de company il garde le nom dans la premiere ligne et l'efface dasn la deuxieme.
Ensuite il colore les lignes 1 sur 2 en fonction des noms des company.
Ma question, est on vient de changer le modele pour utiliser la macro et donc elle fait le tri en fonction de la mauvaise colonne. Je ne trouve pas dans le code ou est referncee cette colonne.
Merci de votre aide
Code:
'~~~~~~~~~~~~~~~~~~~Sub to color UPCs in order to separate them~~~~~~~~~~~~~~~~~~~
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'Arguments~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'start_row specifies where to start the separation of UPCs
'row_max row in which to end sub
'col_max column until which background color should be changed
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'uses UPC as reference to sort
Sub ColorUPC(start_row As Integer, row_max As Integer, col_max As Integer, Optional comp_row As Integer = 3)
Dim i As Integer
i = start_row
marker = 0
'MsgBox row_max
Do While (i <= row_max)
If Worksheets("Sheet2").Cells(i, comp_row) <> Worksheets("Sheet2").Cells(i - 1, comp_row) Then
With Worksheets("Sheet2").Range(Worksheets("Sheet2").Cells(i, 1), Worksheets("Sheet2").Cells(i, col_max)).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.Color = RGB(0, 0, 0)
End With
marker = marker + 1
'MsgBox "Marker " & marker & " Loop counter " & i
End If
If (marker Mod 2 = 0) Then
Worksheets("Sheet2").Range(Worksheets("Sheet2").Cells(i, 1), Worksheets("Sheet2").Cells(i, col_max)).Interior.Color = RGB(255, 228, 181)
End If
i = i + 1
Loop
End Sub
Sub SeperateUPC(start_row As Integer, row_max As Integer, col_max As Integer, Optional comp_row As Integer = 2, Optional del As Boolean = True)
Dim i As Integer
i = start_row
before = Worksheets("Sheet2").Cells(i - 1, comp_row)
Do While (i <= row_max)
If Worksheets("Sheet2").Cells(i, comp_row) = before Then
before = Worksheets("Sheet2").Cells(i, comp_row)
If del = True Then
Worksheets("Sheet2").Cells(i, comp_row - 1).ClearContents
End If
Worksheets("Sheet2").Cells(i, comp_row).ClearContents
Else
before = Worksheets("Sheet2").Cells(i, comp_row)
End If
i = i + 1
Loop
End Sub
La macro est longue si vous penesez que l'info est ailleurs je la mettrais en entier