Bonjour tout le monde,
bon me voilà avec une demande un peu tordu je vais donc tenter d’être le plus précis possible quand à ma demande et utiliser des exemples simples,j’ai en ligne 1 des dates qui se suivent, les week-end se mettent en couleur,en dessous j’ai 2 lignes identiques, qui s’importe depuis un autre onglet, que je vais appeler Prévisionnel (ligne 2) et Réel (ligne 3) ensuite j’ai un USF avec une ComboBox, un CommandButton et des OptionButton, donc je tape un numéro dans ma ComboBox, je coche une de mes OptionButton je clic sur mon CommandButton, là, ma macro cherche le numéro le trouve puis cherche la date du jour en ligne 1 et sélectionne la cellule de la ligne 3 (réel) dans la même colonne, puis selon l’OptionButton coché change le format de la cellule sélectionnée en vert ou rouge ou orange. Voilà le déroulement de ma macro actuelle, mais je voudrai que si par exemple je coche l’OptionButton qui formate rouge alors décaler toute la ligne d’une cellule, certes pour ça il suffirait d’insérer une cellule, mon problème c’est que je voudrai que quand en ligne 1 (date) il y ai un samedi que là, la ligne se décale de 2 et ce chaque fois qu’il y a un samedi j’espère que mon explication est compréhensible . . .si ce n’est pas le cas alors je ferai passer mon fichier.
Voici le code de USF :
Private Sub UserForm_Initialize()
datesaisie = Day(Now) & "/" & Month(Now) & "/" & Year(Now) ' j'inscris la date sans l'heure
NumofModif.SetFocus
End Sub
Sub modifier_Click()
Dim b As Long, a As Long, c As Variant
Dim d As Date
a = 1
b = NumofModif
c = 4
d = datesaisie
Do 'je cherche mon numero d'OF dans la colo A
a = a + 1
Loop Until Application.Cells(a, 1) = b
Do 'je cherche la date saisie (datesaisie) sur la ligne du N° d'OF trouvé
c = c + 1
Loop Until Application.Cells(a, c) = d
Application.Cells(a + 2, c).Select 'Je séléctionne la cell
If Recu = True Then
ActiveCell.Select
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders.LineStyle = xlContinuous
ElseIf NonReçu = True Then
ActiveCell.Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders.LineStyle = xlContinuous
ElseIf Retard = True Then
ActiveCell.Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders.LineStyle = xlContinuous
ElseIf Envoye = True Then
ActiveCell.Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
With Selection.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders.LineStyle = xlContinuous
End If
Unload Modification
End Sub
MERCI A CCM à déclarer source d'intéret public . .. .. pensez à marquer vos topic résolus quand c'est le cas .. . . .Configuration: asus P5V800 / P4 2,8 Ghz / 1,5 Go Windows XP FireFox / IE 7