Selection et remontée de données

Bonjour, je cherche a améliorer un fichier. sans vba

Actuellement on peu se positionner sur une activité par jour et plage horaire.

est il possible de permettre un récapitulatif.

Je sélectionne X et il est remonté les choix de X pour les jours de la page.

Voir fichier joint pour mieux comprendre:

Q17 permet de choisir qui

et dans le tableau afficher les choix de Q17 sur la semaine.

Merci d'avance

16recap.xlsx (34.80 Ko)

Bonjour,

oui c'est possible, mais le fichier est trop succinct pour construire une formule

comment sont entrés les autres jours ?

tout part-il de la base de données ? ou bien de la feuille S07 et dans ce cas où sont les autres jours ?

merci d'étoffer un peu votre exemple

Cordialement

Bonjour

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

12recap-v1.xlsm (75.42 Ko)

Re,

Une proposition avec des formules matricielles

Cordialement

7gmb.xlsm (74.85 Ko)

Bonjour,

oui c'est possible, mais le fichier est trop succinct pour construire une formule

comment sont entrés les autres jours ?

tout part-il de la base de données ? ou bien de la feuille S07 et dans ce cas où sont les autres jours ?

merci d'étoffer un peu votre exemple

Cordialement

Bonjour,

Nous avons 5 jours sur une feuille, dans l exemple une seule feuille avec 3 jours.

Le fichier complet comprend 52 feuilles de 5 jours, reprenant la liste de personnel + activités + plages horaires

merci

Re,

Une proposition avec des formules matricielles

Cordialement

Bonjour, et merci, je vais essayer de comprendre votre proposition.

Cela a l air pas mal, nous avons cependant un soucis, dans le cas de positionnement multiples sur la même journée

Exemple; employé 2 lundi 12 positionné matin sur une activité et soir sur une autre le récapitulatif ne remonte qu une activité en doublon.

la colonne date ajoutée sur la gauche est obligatoire ?

Merci.

11copie-de-gmb.xlsm (74.22 Ko)

Je ne parviens pas a rectifier le soucis, si jamais l'un de vous a un peu de temps à consacrer.

Pour rappel en cas de multiples positions j'ai un récapitulatif erroné, avec la première sélection correcte et un doublon pour la deuxième.

Ex: Lundi 12 / Activité 1le Matin pour Employé 1 et Lundi 12 / Activité 5 le Soir pour Employé 1

Le récapitulatif inscrit : Activité 1 / Matin / Employé 1

et Activité 1 / Matin / Employé 1

Bonjour,

Voici le fichier corrigé prenant en compte la possibilité d'avoir le meme employé plusieurs fois sur la meme ligne.

La colonne A avec la date répétée est nécessaire mais peut être masquée

j'ai ajouté quelques explications succinctes : si besoin je peux detailer.

Cordialement

8gmb2.xlsm (76.33 Ko)

Bonjour,

Voici le fichier corrigé prenant en compte la possibilité d'avoir le même employé plusieurs fois sur la meme ligne.

La colonne A avec la date répétée est nécessaire mais peut être masquée

j'ai ajouté quelques explications succinctes : si besoin je peux détailler.

Cordialement

Sympa, des détails sont pas de refus.

Si on pousse encore plus loin, la le fichier fonctionne avec du multi position sur la même ligne

Les employés ne sont pas soucieux, donc partons du principe qu'ils se positionnent un peu n importe comment

EX: même employé se positionne le lundi 12 pour matin activité 1 (sur la ligne 1)

Puis toujours pour le lundi 12, soir activité 5 mais cette fois si sur la ligne 6 (car 5 autres se sont déjà positionner sur activité 5, avant lui)

le récapitulatif ne ressort pas la bonne plage horaire de la ligne 6.

En gros est il possible de faire ressortie l'ensemble des positions par employé et cela même s'il y a plus de 2 positions par jour ?

D'avance merci.

Bonjour,

Voilà le fichier corrigé et annoté.

Il restait un MIN(......) qui ne renvoyait qu'une valeur (toujours la première) que j'ai remplacé par un PETITE.VALEUR(....;nb.si(..)) qui renvoie les différentes valeurs une par une quand on recopie vers le bas.

Cordialement

7cfafpa.xlsm (77.80 Ko)

Bonjour, super merci beaucoup pour le temps passé.

Je vais tacher de comprendre, pour l instant je ne parviens pas a reproduire l'identique sur mon fichier original...

J'avance pas mal, merci encore.

Est il possible que le tableau récapitulatif n'affiche rien si pas d'employé sélectionné ? si non tant pis il y aura toujours quelqun

Bonjour,

Voilà le fichier corrigé et annoté.

Il restait un MIN(......) qui ne renvoyait qu'une valeur (toujours la première) que j'ai remplacé par un PETITE.VALEUR(....;nb.si(..)) qui renvoie les différentes valeurs une par une quand on recopie vers le bas.

Cordialement

Encore merci.

Dois je modifier le code macro afin de l adapter a mon fichier final, si le tableau récapitulatif n est pas situé exactement au même endroit ?

Option Explicit

Dim c As Range, adrD$

Dim i&, lgn&, derln&, ln&, lnS, nb&, jS$

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$Q$17" Then

Application.EnableEvents = False

Application.ScreenUpdating = False

Range("Q16").CurrentRegion.Offset(1, 1).ClearContents

derln = Range("A" & Rows.Count).End(xlUp).Row + Range("A" & _

Range("A" & Rows.Count).End(xlUp).Row).CurrentRegion.Rows.Count

With Range("A1:N" & derln)

Set c = .Find(Target, lookat:=xlWhole)

If Not c Is Nothing Then

adrD = c.Address

Do

c.Select

'MsgBox "ok"

For i = 1 To 7

lnS = Choose(i, 2, 40, 78, 116, 154, 192, 230)

ln = Choose(i, 40, 78, 116, 154, 192, 230, Rows.Count)

If c.Row < ln Then Exit For

Next i

lgn = Range("R" & Rows.Count).End(xlUp)(2).Row

Range("R" & lgn) = Cells(lnS + 1, c.Column - 1)

Range("S" & lgn) = Cells(c.Row, c.Column - 1)

Range("T" & lgn) = Cells(lnS, 2)

Set c = .FindNext(c)

If c Is Nothing Then

GoTo fin

End If

Loop While Not c Is Nothing And c.Address <> adrD

End If

End With

ElseIf Target.Address = "$B$1" Then

For i = 1 To 8

nb = Choose(i, 2, 2, 40, 78, 116, 154, 192, 230)

jS = Choose(i, "Tout", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")

If Target = jS Then Exit For

Next i

ActiveWindow.ScrollRow = nb - 1

Exit Sub

Else

Exit Sub

End If

fin:

Range("Q17").Select

Application.EnableEvents = True

End Sub

Sub Evenement()

Application.EnableEvents = True

End Sub

Bonjour,

Pour ne rien afficher quand il n'y a pas de nom d'employé : 2 possibilités :

  • Mise en forme conditionnelle pour la plage S17:U39 : si R17 est vide : couleur de police = couleur de fond
  • ajouter à chaque formule : si(estvide($R$17);"";formule)

Pour le VBA : je ne pratique pas du tout cette discipline et suis incapable de t'aider.

Cordialement

Merci à toi.

Rechercher des sujets similaires à "selection remontee donnees"