Bonjour,
Je suis en train de bloquer sur un problème de suppression des bordures rouges quand la condition n'est plus vraie.
Je vous explique :
Les cellules G sont en bordures rouge quand la condition Cellule en G<=Cellule H. Ma macro vérifie toutes les lignes de la colonne G et H. Si une des cellules respecte ma condition donc elle devient en bordure rouge. Hélas, je n'arrive pas à supprimer les bordures rouges quand je lance a nouveau ma macro avec d'autres valeurs pour voir si cela marche.
Quelqu'un saurait me dire ce qui ne va pas sur ma macro ? Pour info j'ai utilisé l'enregistrement pour connaitre la syntaxe.
Voici mon code :
Sub bordure()
With Worksheets("Donnée")
For b = 3 To .Range("a3").End(xlDown).Row
If .Cells(b, 7) <= .Cells(b, 8) Then
'TABLEAU 1 EFFACER LES BORDURES
.Cells(b, 7).Borders(xlDiagonalDown).LineStyle = xlNone
.Cells(b, 7).Borders(xlDiagonalUp).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeLeft).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeTop).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeBottom).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeRight).LineStyle = xlNone
.Cells(b, 7).Borders(xlInsideVertical).LineStyle = xlNone
.Cells(b, 7).Borders(xlInsideHorizontal).LineStyle = xlNone
'TABLEAU 1 METTRE EN BORDURE ROUGE
With .Cells(b, 7).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
End If
Next b
End sub
Merci pour votre aide ^^
Je suis en train de bloquer sur un problème de suppression des bordures rouges quand la condition n'est plus vraie.
Je vous explique :
Les cellules G sont en bordures rouge quand la condition Cellule en G<=Cellule H. Ma macro vérifie toutes les lignes de la colonne G et H. Si une des cellules respecte ma condition donc elle devient en bordure rouge. Hélas, je n'arrive pas à supprimer les bordures rouges quand je lance a nouveau ma macro avec d'autres valeurs pour voir si cela marche.
Quelqu'un saurait me dire ce qui ne va pas sur ma macro ? Pour info j'ai utilisé l'enregistrement pour connaitre la syntaxe.
Voici mon code :
Sub bordure()
With Worksheets("Donnée")
For b = 3 To .Range("a3").End(xlDown).Row
If .Cells(b, 7) <= .Cells(b, 8) Then
'TABLEAU 1 EFFACER LES BORDURES
.Cells(b, 7).Borders(xlDiagonalDown).LineStyle = xlNone
.Cells(b, 7).Borders(xlDiagonalUp).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeLeft).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeTop).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeBottom).LineStyle = xlNone
.Cells(b, 7).Borders(xlEdgeRight).LineStyle = xlNone
.Cells(b, 7).Borders(xlInsideVertical).LineStyle = xlNone
.Cells(b, 7).Borders(xlInsideHorizontal).LineStyle = xlNone
'TABLEAU 1 METTRE EN BORDURE ROUGE
With .Cells(b, 7).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
With .Cells(b, 7).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlMedium
End With
End If
Next b
End sub
Merci pour votre aide ^^
Dernière édition: