[SIZE=2][COLOR=GRAY][B][I]DANS LE MODULE DE CODE DE LA FEUILLE[/I][/B][/COLOR]
[COLOR=NAVY]Private Sub[/COLOR] Worksheet_Change([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range)
[COLOR=GREEN]' myDearFriend! - 15/12/2006[/COLOR]
[COLOR=NAVY]Dim[/COLOR] V [COLOR=NAVY]As Variant
Dim[/COLOR] Cel [COLOR=NAVY]As[/COLOR] Range
[COLOR=NAVY]Static[/COLOR] EnCours [COLOR=NAVY]As Boolean[/COLOR]
[COLOR=NAVY]If[/COLOR] EnCours [COLOR=NAVY]Then Exit Sub[/COLOR] [COLOR=GREEN]'Pour empêcher la macro de tourner en boucle[/COLOR]
[COLOR=GREEN]'Cibles => Cellules en colonne C avec liste de validation "= Jours"[/COLOR]
[COLOR=NAVY]If Not[/COLOR] Application.Intersect(Target, Columns(3).SpecialCells(xlCellTypeAllValidation)) [COLOR=NAVY]Is Nothing Then
If Not[/COLOR] (ActiveCell.Validation.Formula1 = "=Jours") [COLOR=NAVY]Then Exit Sub[/COLOR]
[COLOR=GREEN]'Valeur choisie par l'utilisateur[/COLOR]
V = ActiveCell.Value
[COLOR=GREEN]'On rétablie la valeur de départ[/COLOR]
EnCours = [COLOR=NAVY]True[/COLOR]
Application.Undo
EnCours = [COLOR=NAVY]False
If[/COLOR] V = "" [COLOR=NAVY]Then Exit Sub[/COLOR]
[COLOR=GREEN]'On trouve le jour correspondant dans la colonne[/COLOR]
[COLOR=NAVY]Set[/COLOR] Cel = Columns(3).Find(V)
[COLOR=GREEN]'On positionne la feuille, définit la zone imprimable et sélectionne le jour souhaité[/COLOR]
ActiveWindow.ScrollRow = Cel.Row
ActiveSheet.PageSetup.PrintArea = Cel.Resize(22, 9).Address
Cel.[COLOR=NAVY]Select
End If
End Sub[/COLOR][/SIZE]