appliquer des lignes pointillée et continu à tout un tableau excel en vba
Bonjour,
débutant en programmation excel VBA, j'ai créé un tableau excel sut toute l'année, ça veut dire avec 52 semaines, et maintenant sur chaque cellule de semaine, je souhaite mettre des lignes en pointillé pour, ainsi lorsque l'on modifie le tableau il suffira de lancer la macro pour remettre toutes les lignes entourant les cellules correctement. J'ai fait ce travail pour toutes les lignes mais je dois le faire pour toutes les colonnes, comme certaines cellules sont fusionnée je n'ai pas besoin de le faire pour 365 colonnes( 1 colonne par jour) et je le fais toutes les 2 colonnes. j'ai déjà mis les formules pour janvier mais c'est chronophage, c'est pourquoi je me demande s'il n'existe pas un moyen pour que ça se fasse automatiquement au sein d'un cadre limité, que je ne doive pas chaque fois introduire les limites des champs pour chaque semaine.
Ci-dessous un exemple de la macro pour les lignes et un autre pour les colonnes.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub lignedessous() ' lignedessusdessous Macro
Range("M4:Abn4").Select 'ligne
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDash
.ColorIndex = 1
.Weight = 1
End With
Range("M6:Abn6").Select 'ligne
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDash
.ColorIndex = 1
.Weight = 1
End With |
et ainsi de suite... pour les lignes horizontales , j'en ai 52 déjà
ci-dessous la même formule pour les lignes verticales qui sont bien plus nombreuses
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 'bordure verrticales
Range("o6:o53").Select 'bordure de colonne
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDash
.ColorIndex = 1
.Weight = 1
End With
Range("p6:p53").Select 'bordure de colonne
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDash
.ColorIndex = 1
.Weight = 1
End With |
Merci d'avance pour vos conseils.