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.
et ainsi de suite... pour les lignes horizontales , j'en ai 52 déjà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
ci-dessous la même formule pour les lignes verticales qui sont bien plus nombreuses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager