vincent team
XLDnaute Nouveau
Bonjour à tous,
Débutant en vba, je sèche sur un problème probablement tout simple pour vous.
J'ai un tableau avec des filtres et des lignes cahées. Je désire ajouter une bordure basse sur toute la ligne à chaque changement de valeur dans une colonne (pour rendre le tableau plus lisible). Le problème avec mon code c'est qu'au moment de la comparaison de la valeur, il compare la cellule active avec la cellule du dessous mais qui est parfois cachée. Il devrait la comparer avec la cellule "visible" suivante. Voir code ci-dessous.
Quelqu'un aurait une idée pour palier à ce problème ?
Merci d'avance
Slts/Viince
----------------------------
Sub Ajout_Bordures()
Dim cell As Range
Dim col As Integer
For Each cell In Range([F8], [F8].End(xlDown)).SpecialCells(xlCellTypeVisible)
col = cell.Row
If cell.Value <> cell.Offset(1, 0).Value Then ' ***** C'est là que ca coince !!!!!
Range("A" & col, "BE" & col).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
Else
Range("A" & col, "BE" & col).Select
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
End If
Next
End Sub
Débutant en vba, je sèche sur un problème probablement tout simple pour vous.
J'ai un tableau avec des filtres et des lignes cahées. Je désire ajouter une bordure basse sur toute la ligne à chaque changement de valeur dans une colonne (pour rendre le tableau plus lisible). Le problème avec mon code c'est qu'au moment de la comparaison de la valeur, il compare la cellule active avec la cellule du dessous mais qui est parfois cachée. Il devrait la comparer avec la cellule "visible" suivante. Voir code ci-dessous.
Quelqu'un aurait une idée pour palier à ce problème ?
Merci d'avance
Slts/Viince
----------------------------
Sub Ajout_Bordures()
Dim cell As Range
Dim col As Integer
For Each cell In Range([F8], [F8].End(xlDown)).SpecialCells(xlCellTypeVisible)
col = cell.Row
If cell.Value <> cell.Offset(1, 0).Value Then ' ***** C'est là que ca coince !!!!!
Range("A" & col, "BE" & col).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
Else
Range("A" & col, "BE" & col).Select
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
End If
Next
End Sub