Pb récupération de donnée

Bonjour à tous,

Je bloque depuis plus de 10 jours sur la mise en place de ma feuille de support pour impression.

Dans mon planing, ( "Plan")J'aimerai récupérer que les dates filtrés par la combo (ferie et week end) et mettre en face le nom de l'agent travaillant à cette date.l'entete de colnne corespondrait à l'intitulé saisie par l'utilisateur (123,456,789, dans mon exemple) Mais j'aimerai également dans une seconde colonne récupérer les Rh correspondant ( par defaut les Rh sont systématiquement placer le Samedi et le dimanche. ) Seul petit problèmes les Rh de début d'année peuvent être générer sur l'années N-1 si 1er le samedi de l'année tombe entre le 01/01 et le 03/01) par contre en fin d'année aucun problème puisque mon calendrier va jusqu'à 03/01 de l'année N+1.

J'ai générer quelques dates en janvier et en décembre sur mon onglet Plan pour tester.

Je vous ai fais une page exemple sur l'onglet Prt du résultat que j'aimerai obtenir. ( La mise en page n'est pas figé mais l'idée, est que les dates soit regroupées par mois. et si possible le 01/01 de l'année N+1 soit rattaché au mois de décembre de l'année N!

J'espères que mes explications sont à peu pres claires

Je reste à votre disposition pour toutes questions,

Merci pour vos idées ou vos solutions.

5p-tabrh.zip (258.31 Ko)

Je vois que je n'ai pas soulevé les foules avec mon sujet,

j'avais commencer ceci qui me récupérais bien les dates mais depuis ma nouvelle version du fichier le code s'arrête sur la ligne 183 (i=116) et je ne comprend pas pourquoi

Sub recuperation_donnees_filtrees()
Dim Plage As Range, rng As Range
Dim a, b, nLig As Long, i As Long, j As Byte
    With WsPlan.Range("a1").CurrentRegion
        Set Plage = .SpecialCells(xlCellTypeVisible)
        b = Range(Cells(1), Cells(1).End(xlToRight)).Columns.Count
        nLig = .Columns(1).SpecialCells(xlCellTypeVisible).Count
    End With
    ReDim a(1 To nLig, 1 To b - 6)
    For Each rng In Plage.Rows

    i = i + 1
        If i > 1 Then a(i, 1) = rng.Cells(1).Value
        For j = 8 To rng.Cells.Count
        If rng.Cells(j).Value <> "Rh" Then
            a(i, j - 6) = rng.Cells(j).Value
        End If
        Next
    Next
    'Restitution de la variable a représentant le filtre
   With Sheets("Feuil2")
        .Cells.Clear
        With .Range("A1").Resize(UBound(a, 1), UBound(a, 2))
            .Value = a
            .Font.Name = "calibri"
            .Font.Size = 10
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .Borders(xlInsideVertical).Weight = xlThin
            .BorderAround Weight:=xlThin
            With .Columns(1)
                .BorderAround Weight:=xlThin
                .NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
                With .Offset(1).Resize(.Rows.Count - 1)
                    .Interior.ColorIndex = 36
                End With
            End With
            With .Rows(1)
                .BorderAround Weight:=xlThin
                With .Offset(, 1).Resize(, .Columns.Count - 1)
                    .Interior.ColorIndex = 40
                End With
            End With
        End With
    End With
End Sub

et surtout je ne prend pas en compte le regroupement des dates par mois,

Si une âme généreuse pouvais jeter un œil. Sinon dans le module 1 on retrouve un code que Klin89 m'avait fait qui me gérerai exactement la mise en forme dont j'avais besoin et me récupérait bien les entêtes. Par contre on réalisait directement le calcule des Rh dans la seconde colonne du tableau, Or à l'utilisation je me suis aperçut qu'il valais mieux générer le Rh sur mon calendrier puis récupérer les valeurs., car en cas de modification de dates je ne pouvais pas mettre à jours les dates de Rh qui se recalculait automatiquement.

Merci d'avances pour vos idées ou vos solutions

Rechercher des sujets similaires à "recuperation donnee"