Bonjour le forum
J'ai créé un code vba qui sert a voir un temp de travail pour des personnes
Donc j'ai un tableau ou je rentre les heures et une listbox sur vba qui ne dit la différence de temps par rapport à un plan

pour simplifier la recherche de chaque personne dans la listbox je me suis arrangé pour que le nom de la personne ce mette en bleu
je me demande si il est possible de faire plus simple😕
ça fonction très bien mais très long car je doit le refaire sur 2 autres pages
Merci D'avance
David @+
J'ai créé un code vba qui sert a voir un temp de travail pour des personnes
Donc j'ai un tableau ou je rentre les heures et une listbox sur vba qui ne dit la différence de temps par rapport à un plan

pour simplifier la recherche de chaque personne dans la listbox je me suis arrangé pour que le nom de la personne ce mette en bleu
je me demande si il est possible de faire plus simple😕
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'''Lundi
If Not Application.Intersect(Target, Range("a5:a58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66").Value
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("b5:b58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66").Value
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("c5:c58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("d5:d58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'''Mardi
ElseIf Not Application.Intersect(Target, Range("e5:e58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("f5:f58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("g5:g58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("h5:h58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'''mercredi
ElseIf Not Application.Intersect(Target, Range("i5:i58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("j5:j58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("k5:k58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("l5:l58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'''jeudi
ElseIf Not Application.Intersect(Target, Range("m5:m58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("n5:n58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("o5:o58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("p5:p58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'''Vendredi
ElseIf Not Application.Intersect(Target, Range("q5:q58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("r5:r58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("s5:s58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("t5:t58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'*************************************************************week end*******************************************************************
'''Samedi
ElseIf Not Application.Intersect(Target, Range("u5:u58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("v5:v58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("w5:w58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("x5:x58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
'''Dimanche
ElseIf Not Application.Intersect(Target, Range("y5:y58")) Is Nothing Then
Range("a66").Value = ActiveCell.Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("z5:z58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -1).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("aa5:aa58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -2).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
ElseIf Not Application.Intersect(Target, Range("ab5:ab58")) Is Nothing Then
Range("a66").Value = ActiveCell.Offset(0, -3).Value
If Range("a66") <> "" Then
UserForm1.ListBox3.Value = Sheets("planning_modifier").Range("a66")
ElseIf Range("a66") = "" Then
UserForm1.ListBox3.Value = Clean
End If
End If
End Sub
ça fonction très bien mais très long car je doit le refaire sur 2 autres pages
Merci D'avance
David @+