remplir une ligne en couleur, selon date de début et de fin.

jammy17

XLDnaute Occasionnel
Bonjour les Xldnautes,


n'étant pas un pro de la programmation VBA, je vous soumet un petit problème rencontré :
dans le fichier joint, j'ai un tableau rempli de la sorte :
date de début date de fin 01/08/2015 / 02/08/2015 / 03/08/2015 / 04/08/2015 / 05/08/2015
cours 1 01/08/215 05/08/2015
cours 2 06/08/2015 08/08/2015
cours 3 02/08/2015 07/08/2015

je souhaiterai que par un clic sur l'objet bleu, le lineaire se remplisse en couleur de facon automatique en fonction de la date de
début de la colonne B et de la date de fin de la colonne B,et ce pour toute les lignes du tableau ....

si quelqu'un à une solution simple je suis preneur,

merci d'avance

Cordialement
 

Pièces jointes

  • jam1.xlsx.xls
    33 KB · Affichages: 28
  • jam1.xlsx.xls
    33 KB · Affichages: 27
  • jam1.xlsx.xls
    33 KB · Affichages: 33

jammy17

XLDnaute Occasionnel
Re : remplir une ligne en couleur, selon date de début et de fin.

Re bonjour,

car ce bout de code peut aussi me servir à d'autre applications mise en place, pour comparer des données en colonne et en ligne, merci encore de ta réponse.
de plus, cela va me servir à remplir un agenda a partir d'un userform ou les dates de debut et de fion seront positionnées dans des textbox d'un userform.

cordialement
 

tototiti2008

XLDnaute Barbatruc
Re : remplir une ligne en couleur, selon date de début et de fin.

Re,

l'équivalent VBA

Code:
Sub Test()
Dim FC As FormatCondition
    Set FC = ActiveSheet.Range("D2:L4").FormatConditions.Add(Type:=xlExpression, Formula1:= _
        "=ET(D$1>=$B2;D$1<=$C2)")
    With FC.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.399945066682943
    End With
    FC.StopIfTrue = True
    Set FC = Nothing
End Sub
 

jammy17

XLDnaute Occasionnel
Re : remplir une ligne en couleur, selon date de début et de fin.

merci encore tototiti de tes reponses, mais je ne souhaite pas faire un format mise en forme conditionnel,
Ce que je recherche est vraiment le code VBA qui me permetterai de comparer les valeur, ou les texte entre les ligne et les colonnes,

merci si quelqu'un a cette possibilité
 

Si...

XLDnaute Barbatruc
Re : remplir une ligne en couleur, selon date de début et de fin.

salut

si... tu y tiens, essaie (dans la page de code de la feuille concernée)
VB:
Sub mfc()
  Dim C As Range, b As Byte
  For Each C In [D2:L4]
    b = Cells(1, C.Column) >= Cells(C.Row, 2) And Cells(1, C.Column) <= Cells(C.Row, 3)
    C.Interior.ColorIndex = IIf(b, 15, xlNone)  '15 ou autre
  Next
End Sub

ou, à peine plus court
VB:
Sub mfc()
  Dim C As Range, b As Byte
  For Each C In [D2:L4]
    b = Cells(1, C.Column) < Cells(C.Row, 2) Or Cells(1, C.Column) > Cells(C.Row, 3)
    C.Interior.ColorIndex = IIf(b, xlNone, 15)
  Next
End Sub
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
514
Réponses
12
Affichages
723

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass