Renvoyer l'ensemble des références correspondant à un critère

15planning-1.xlsx (31.29 Ko)

Bonsoir,

Je souhaiterais faire une feuille récapitulative de l'affectation l'ensemble des employés travaillant une journée donnée a partir d'un planning mensuel.

J'ai déjà résolu quelques difficulté grâce à la communauté mais je bute sur un problème:

Plusieurs personnes peuvent avoir le même horaire sur le planning. Autrement dit un horaire peut faire référence à plusieurs personnes.

Je recherche donc le moyen de pouvoir renvoyer dans une plage pré-déterminée l'ensemble des employés ayant le même horaire (plage bleue et verte)

(ensuite je ferai une liste déroulante dans les différents postes à pourvoir, mais ce sera un autre problème).

Le challenge est de parvenir à faire cela sans code ou VBA, car je n'y connais rien, et je prétends vouloir comprendre les formules.

N'hésitez pas à demander des infos complémentaires si ce n'est pas clair.

Bonjour

Un essai à tester. Te convient-il ?

5planning-1-v1.xlsm (42.37 Ko)
Option Explicit

Dim f As Worksheet, cell As Range
Dim i&, jm&, derln&, col&

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
        Application.EnableEvents = False
        If Target.Address = "$F$1" Or Target.Address = "$G$1" Then
            Range("F4:G18").ClearContents
            jm = Range("F1").Value
            On Error Resume Next
            Set f = Sheets(Range("G1").Value)
            If Err.Number <> 0 Then
                MsgBox "Le planning de " & Range("G1") & " n'existe pas.", 16
                Exit Sub
            End If
            Set cell = f.Rows("9:9").Find(Format(jm, "00"), lookat:=xlWhole)
            If Not cell Is Nothing Then
                col = cell.Column
            Else
                MsgBox "La date du " & jm & " ne figure pas sur le planning de " & Range("G1"), 16
                Exit Sub
        End If

        For i = 10 To f.Range("A" & Rows.Count).End(xlUp).Row
            If f.Cells(i, col).Value = "7h3O" Or f.Cells(i, col).Value = "8hOO" Then
                If f.Cells(i, col).Value = "7h3O" Then
                    derln = Cells(18, 6).End(xlUp)(2).Row
                    Cells(derln, 6).Value = f.Range("A" & i).Value
                ElseIf f.Cells(i, col).Value = "8hOO" Then
                    derln = Cells(18, 7).End(xlUp)(2).Row
                    Cells(derln, 7).Value = f.Range("A" & i).Value
                End If
                k = k + 1
            End If
        Next i
    End If
    Application.EnableEvents = True
End Sub

Sub Evenement()
    Application.EnableEvents = True
End Sub

Bye !

Bonjour gmb,

Merci pour cette proposition.

Je ne connais rien en code aussi je ne sais pas comment utiliser cette aide.

J'aimerai bien pouvoir me passer de code mais peut être est ce trop compliqué.

Aussi pour utiliser ce code vers quoi dois je me tourner? je vais essayer de m'initier mais je ne sais pas par quoi commencer.DEs tutos sur le VBA sont ils la bonne cible?

Cordialement,

Bonjour

je ne sais pas comment utiliser cette aide.

Avec cette nouvelle version, il te suffit de valider ou modifier l'une des cellules jaunes F1 ou G1 et le résultat s'écrit dans les
5planning-1-v2.xlsm (45.45 Ko)
cellules vertes et bleus des colonnes F et G.

OK ?
Bye !

Merci Gmb,

cela fonctionne mais pas tout le temps et partiellement. Je m'explique .

Pour l e01 Juin21 par exemple la feuille ne detecte pas les agents travaillant en 7h30 et ne repère qu'un seul agent en 8H

Le 03 elle ne retourne que le premier travaillant à 7h30 mais pas tous les agents ayant cet horaire...

Y a t il moyen de tous les lister?

Y a t il moyen de tous les lister?

Oui à condition que dans le planning il n'y ait pas tantôt des 8hOO et des 7h3O et tantôt des 8h00 et des 7h30.

Excel et VBA ne confondent pas les O majuscules et les zéros.

Dans la nouvelle version j'ai fait les changements.

11planning-1-v3.xlsm (45.30 Ko)

Bye !

Ah en effet c’était une confusion que j’avais vu mais la je n’y avais pas pensé.
merci beaucoup.
je vais digérer le code pour essayer de le comprendre et me servir de cet exemple comme exercice.
merci beaucoup poir le temps passe.

Rechercher des sujets similaires à "renvoyer ensemble references correspondant critere"