Bonsoir à tous, et merci pour vos réponses,
Je vais prendre un peu de temps pour assimiler vos propositions, mais je tiens fortement à vous remercier.
Premièrement, mes excuses, car je n'étais pas clair au début, et je n'ai pas directement mis le bon fichier final en pensant que je modifie juste des valeurs dans la macro proposé par
patty58 (macro ci-dessous) pour avoir la réponse, mais je me suis trompé.
@
job75 : Après un premier coup d'œil, le code VBA donne les résultats souhaités, sauf que si je change les valeurs dans les colonnes B à D, les données dans le tableau s'efface, alors que les données dans ces colonnes servent à alimenter le tableau et doivent y rester pour garder les historiques.
je pense que cette réponse par
patty58 en post 7 a peut être résolu le sujet, sauf qu'elle ne prend pas en compte si l'ID a des doublons sur une même date et je n'arrive pas à l'adapter avec le fichier ci-joint.
Global DLig, Ws, DatDeb, DatFin, DColDeb, DColFin
Sub Placer()
Set Ws = ActiveSheet
DLig = Ws.Range("A65536").End(xlUp).Row
DColDeb = 8
DColFin = 38
'rech date corresp col date deb
For ind = 2 To DLig
DatDeb = DateValue(Ws.Cells(ind, 3))
DatFin = DateValue(Ws.Cells(ind, 4))
For ColD = DColDeb To DColFin
If Ws.Cells(2, ColD) = DatDeb Then
ColDat = ColD
Call RechercheLigneType(ind, Ws.Cells(ind, 1), ColDat)
Exit For
End If
Next ColD
Next ind
End Sub
Sub RechercheLigneType(LigTyp, Id, Col)
For Lig = 3 To DLig + 1
If Ws.Cells(Lig, 7) = Id Then
Ws.Cells(Lig, Col) = Ws.Cells(LigTyp, 2)
Col = Col + 1
While Ws.Cells(2, Col) <= DatFin And Col < DColFin
Ws.Cells(Lig, Col) = Ws.Cells(LigTyp, 2)
Col = Col + 1
Wend
End If
Next
End Sub
Je vais essayer d'être clair et éviter que vous soyez confus : (encore mes excuses si j'étais pas clair au début)
Mes besoins :
1 - Je fais une extraction de donnée (comme dans : colonne A jusqu'à H de ce fichier) puis je colle les données.
2 - Je souhaite que le tableau à partir de colonne AH16 (Tableau Colonne = ID / Ligne = Date) soit remplis par les valeurs depuis colonne D
Type (selon les critères ID et date)
3- Il se peut qu'il y ai des ID qui se répètent sur une même date,
car un ID, peut avoir 2 ou 3 types en une journée ex (CP + TT) par exemple, il faut juste concaténer les données comme (CP/TT/ect.....) si même date et même ID.
Finalité :
1 - Chaque fois que j'alimente ma base (changé les données dans colonne A:H; après une nouvelle extraction, le tableau soit à jour.
2 - Je peux rajouter des ID de façon manuelle dans la colonne AG car ID = liste de personne
@
Cousinhub : Ta proposition par PowerQuery est une autre alternative, sauf que je ne t'ai pas indiqué que la colonne AG doit servir de source pour les ID et à un moment, je dois rajouter un ID.
PQ ne prend que les ID qui sont déjà présent dans la base à traiter.
Encore une fois, merci