Bordures automatiques

Racouet

XLDnaute Nouveau
Bonjour à tous. je dispose d'un planning type Gantt dont le remplissage des couleurs se fait en fonction des dates et de la couleur indiquée en colonne 2. Je recherche une solution macro et non de mise en forme conditionnelle. Egée et Victor 21 m'ont aié pour la solution de coloration automatique, et cette fois, j'aimerai un coup de main pour les bordures svp. je suis nul en macro, mais j'essaye de faire des progrés. Je joint un exemple du fichier en question. J'ai une seconde question, la macro de coloration des cellules ne fonctionne que lorsque je reclick dans la cellule de date.

D'avance merci
 

Pièces jointes

  • planning_essai-macro.xls
    48.5 KB · Affichages: 87

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Bordures automatiques

Bonjour,
J'ai une seconde question, la macro de coloration des cellules ne fonctionne que lorsque je reclick dans la cellule de date.
remplace la macro par ceci:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target.Columns, Columns(7)) Is Nothing And Intersect(Target.Columns, Columns(8)) Is Nothing Then Exit Sub
Application.ScreenUpdating = 0

i = Target.Row
    For j = 9 To 78
        Cells(i, j).Interior.ColorIndex = xlNone
        If Cells(4, j).Value >= Cells(i, 7).Value And Cells(4, j).Value <= Cells(i, 8).Value Then Cells(i, j).Interior.ColorIndex = Cells(i, 2).Interior.ColorIndex
    Next j
Application.ScreenUpdating = 1
End Sub

au lieu de ceci:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
la mise en forme se fera automatiquement dès l'entrée d'une date en colonne G ou H

à+
Philippe
 

Racouet

XLDnaute Nouveau
Re : Bordures automatiques

Merci Philippe, mais cxela ne change rien. Je dois toujours recliquer sur la cellule. Une idée pour ajouter des bordures aux cellules colorées ? J'avavais pensé utiliser la fonction activeCells mias je reste coincé.

Merci
 

James007

XLDnaute Barbatruc
Re : Bordures automatiques

Bonjour,

Tu peux tester le code suivant :

VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%
Dim j%
If Target.Column <> 6 And Target.Column <> 7 Then Exit Sub
    i = Target.Row
    For j = 9 To 78
        Cells(i, j).Interior.ColorIndex = xlNone
        If Cells(4, j).Value >= Cells(i, 7).Value And Cells(4, j).Value <= Cells(i, 8).Value Then
        Cells(i, j).Interior.ColorIndex = Cells(i, 2).Interior.ColorIndex
        Cells(i, j).BorderAround.Weight = xlThin
        End If
    Next j
End Sub

A +
:)
 

Discussions similaires

Réponses
8
Affichages
431

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji