probleme de colonnes dans ma macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alexistak

XLDnaute Occasionnel
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
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
 
Re : probleme de colonnes dans ma macro

Je pense que le problème c'est la valeur de la variable start_row

le protoype de cette fonction est :

sub ColorUPC(start_row As Integer, row_max As Integer, col_max As Integer, Optional comp_row As Integer = 3)

Voici comment cette fonction est appelé (dans le main):

Call ColorUPC(4, row_count, 17, 5)

Change donc le 4 en 3 ou 5 (en fonction du dens dans lequel se fait ton décallage)

Cdt
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Retour