Salut brice et curulis,
1-Je recopie les nouveaux codes sur mon fichier et çà bug ;
1stAGt est pas défini...
2-Pourrais-tu commenter cette macro dans module1. Ou l'as-tu utilisé, je trouve pas.
Public Function fctCol(ByVal iCol%) As String
fctCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)
End Function
3-Et ces nouveaux codes dans selectionChange :
Me.lstAGT.Clear
Me.lstAGT.Visible = False
4-Cà apporte quoi ce code ?
If Selection.Count > 1 Then
If (Selection.Cells(1, 1) = "C" Or Selection.Cells(1, 1) = "LC1" Or Selection.Cells(1, 1) = "LC2" Or _
Selection.Cells(1, 1) = "F" Or Selection.Cells(1, 1) = "+" Or Selection.Cells(1, 1) = "ABS") Then Selection.Cells = Selection.Cells(1,1)
5-çà c'est juste pour le remplaçant qu'on ne veut pas perdre si on en sélectionne un autre ?
For y = 1 To iNbWk
'si periode trav equipe si nom titulaire et pas absent ou si periode travail sur ligne titulaire
If (Cells(x + 1, iCol) = sPr And Cells(x + (y * 2), 1) <> 0 And (Cells(x + (y * 2), iCol)) <> "ABS") Or _
6-pourquoi tu rajoutes des _ partout si c'est pour aller à la ligne pour des codes courts ?
Cells(x + (y * 2), iCol) = sPr Then _
iNb2 = iNb2 + 1: _
Me.lstAGT.AddItem Cells(x + (y * 2), 1)
7-Il n'y a jamais la période de travail "toute seule" sur la ligne du titulaire:
Cells(x + (y * 2), iCol) = sPr
8-Et ces roulements sur 56 jours ? Bon ok pour irow dans l'onglet des données, mais le irow de l'onglet "données" n'est pas sur les mêmes lignes que l'onglet"planning".
9-commentaires svp.
Else
If iCol > 1 And Cells(iRow, 1) <> 0 And WorksheetFunction.CountIf(Worksheets("Données").Columns("G"), Cells(iRow, 1)) = 1 Then _
Target.Validation.Add Type:=xlValidateList, Formula1:=",C,LC1,LC2,F,+,ABS"
If sFormula <> "" Then _
Columns(iCol).ColumnWidth = 16: _
Target.Validation.Add Type:=xlValidateList, Formula1:=sFormula
Me.lstAGT.Top = Target.Top
Me.lstAGT.Height = iNb2 * 12
Me.lstAGT.Left = Target.Offset(0, -3).Left
Me.lstAGT.Visible = True
A+