Bonjour, super rapide vgendron,
oui il y a des activate, select etc
si j'active la macro "Listeact" comme tu le proposes j'ai une erreur de compilation: utilisation incorrect du mot cle Me
car avant il y a la ligne
If Not Intersect(Me.[A2:d2,E2:G2], Target) Is Nothing Then ListeAct
et si j'ai bien saisi, Me est defini dans les proprietes de :
Worksheet_Change(ByVal Target As Range)
c'est je crois les propriétés de cette dernière que je doit adapter à un module standard
Le reste de listeact est:
Sub ListeAct()
Dim DébP As Date, FinP As Date, TE(), LE As Long, _
DébT As Date, FinT As Date, TS(), LS As Long
DébP = Me.[B2].Value + Me.[G2].Value
FinP = Me.[J2].Value + Me.[K2].Value
TE = Feuil1.UsedRange.Value
ReDim TS(1 To UBound(TE, 1), 1 To 13)
For LE = 2 To UBound(TE, 1)
DébT = TE(LE, 7) + TE(LE, 8) ' Debut
FinT = TE(LE, 9) + TE(LE, 10) 'Fin
If DébT < FinP And FinT > DébP Then
LS = LS + 1
TS(LS, 1) = TE(LE, 1) 'Id
TS(LS, 2) = DébT: TS(LS, 3) = FinT 'Dates et heures
TS(LS, 4) = TE(LE, 13) 'N3
TS(LS, 5) = TE(LE, 14) 'N4
TS(LS, 6) = TE(LE, 3) 'Statut réalisation
TS(LS, 7) = TE(LE, 17) 'Moyen de contact chargé d'intervention
TS(LS, 8) = TE(LE, 6) 'STATUT
TS(LS, 9) = TE(LE, 19) 'Moyen de contact CP
TS(LS, 10) = TE(LE, 21) 'Entreprise extérieure
TS(LS, 11) = TE(LE, 22) 'Plan de prévention
TS(LS, 12) = TE(LE, 23) 'Description
TS(LS, 13) = TE(LE, 5) 'VIGILANCE
End If: Next LE
With Me.ListObjects("Table2")
If .ListRows.Count > LS Then .ListRows(LS + 1).Range.Resize(.ListRows.Count - LS).Delete xlShiftUp
If .ListRows.Count = 0 Then .ListRows.Add
.DataBodyRange.Resize(LS).Value = TS: End With
et de la mise en format...
End Sub
Et là le flou regne n'est ce pas?