Récupération de données selon critères de deux onglets

Bonjour le forum,

Je rencontre une problématique, quelqu'un connait il une solution ?

J'ai un onglet "Données" dans le quelle j'ai un tableau avec la date, le jour, la référence, la période et la mention.

Dans cette onglet, je peux voir la date et la période à laquelle ma référence à été effectuée.

Dans un autre onglet, j'ai un planning, dans celui ci, il y a le prénom de plusieurs agents. Avec la date et comment ils ont travaillés cette date

AM => Matin

PM => Après midi

et NUIT

J'aurais souhaité récupérer les noms des agents dans mon tableau de données en fonction de la date et de la période.

le fichier est en PJ avec un exemple

Merci d'avance

21excelpratique.xlsx (10.71 Ko)

Bonjour,

Voilà une solution fonctionelle avec un petit bouton !

Ca te vas ?

Et voilà le code :

Sub syncroPlanning()
    Dim NbLigneD As Integer
    Dim NbLigneP As Integer
    Dim DateP As String
    Dim DerCol As Integer

    DerCol = Sheets("Planning").Cells(6, Columns.Count).End(xlToLeft).Column
    NbLigneD = Sheets("Données").Range("A65536").End(xlUp).Row
    NbLigneP = Sheets("Planning").Range("E65536").End(xlUp).Row
    For i = 2 To NbLigneD
        DateP = Sheets("Données").Range("B" & i).Value & "/" & Mid(Sheets("Données").Range("A" & i).Value, 5) & "/" & Left(Sheets("Données").Range("A" & i).Value, 4)
        Sheets("Données").Range("F" & i).Value = ""
        For j = 6 To DerCol
            If CStr(Sheets("Planning").Range(LetCol(j) & "6").Value) = DateP Then
                For k = 7 To NbLigneP
                    If Sheets("Données").Range("D" & i).Value = Sheets("Planning").Range(LetCol(j) & k).Value Then
                        If Sheets("Données").Range("F" & i).Value <> "" Then
                            Sheets("Données").Range("F" & i).Value = Sheets("Données").Range("F" & i).Value & " & "
                        End If
                        Sheets("Données").Range("F" & i).Value = Sheets("Données").Range("F" & i).Value & Sheets("Planning").Range("E" & k).Value
                    End If
                Next
            End If
        Next
    Next
End Sub
Function LetCol(numCol)
    LetCol = Split(Cells(1, numCol).Address, "$")(1)
End Function
28excelpratique.xlsm (22.55 Ko)

Bonjour Edomath,

Cela fonctionne parfaitement, =)

Encore merci pour ton aide !

Rechercher des sujets similaires à "recuperation donnees criteres deux onglets"