extraire des données d'un planning

michelb 74

XLDnaute Nouveau
Bonjour à tous, et comme le veut la bienséance, tout d'abord une bonne année à toutes et tous et beaucoup de bonheur ....

Je vous soumet mon "problème": je dois faire un planning hebdo pour une équipe de personnes (que j'appelle A à F par ex), avec une liste de tâches, et pour chaque jour, je met en face de la tâche le nom de la personne qui l'effectue.
Je souhaite pouvoir extraire, pour chaque personne , et pour chaque jour, la liste des Tâches qu'il a à faire....
je vous joint un tableau en exemple....
D'avance, merci !!!!!
 

Pièces jointes

  • test planing.xlsm
    11.1 KB · Affichages: 134

job75

XLDnaute Barbatruc
Re : extraire des données d'un planning

Bonsoir michelb 74, salut Patrick :)

Macro événementielle dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [C14]) 'C14 à adapter
If Target Is Nothing Then Exit Sub
Dim derlig&, tablo$(), i&, tache$, j%
derlig = [A65536].End(xlUp).Row
If derlig = 1 Then Exit Sub 'sécurité
Application.ScreenUpdating = False
ReDim tablo(derlig - 2, 6) 'tableau pour le stockage
For i = 2 To derlig
  tache = Cells(i, 1)
  For j = 2 To 8
    If Cells(i, j) = Target Then tablo(i - 2, j - 2) = tache
  Next
Next
'---restitution sur B16 (à adapter)---
Range("B16:H" & Rows.Count).ClearContents 'RAZ
With [B16].Resize(derlig - 1, 7)
  .Cells = tablo
  On Error Resume Next
  .SpecialCells(xlCellTypeBlanks).Delete xlUp
End With
End Sub
Fichier joint.

Edit : déclaré tablo As String ($) => plus rapide

A+
 

Pièces jointes

  • test planning(1).xls
    44.5 KB · Affichages: 85
  • test planning(1).xls
    44.5 KB · Affichages: 99
  • test planning(1).xls
    44.5 KB · Affichages: 103
Dernière édition:

job75

XLDnaute Barbatruc
Re : extraire des données d'un planning

Re,

Prenez cette version (2), c'est mieux présenté et plus rapide sur un grand tableau :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [C14]) 'C14 à adapter
If Target Is Nothing Then Exit Sub
Dim h&, tablo, t$(), i&, tache$, j%
h = [A65536].End(xlUp).Row - 1
If h = 0 Then Exit Sub 'sécurité
Application.ScreenUpdating = False
tablo = [A2].Resize(h, 8) 'matrice (plus rapide)
ReDim t(h - 1, 6)
For i = 1 To h
  tache = tablo(i, 1)
  For j = 2 To 8
    If tablo(i, j) = Target Then t(i - 1, j - 2) = tache
  Next
Next
'---restitution sur B16 (à adapter)---
Range("B16:H" & Rows.Count).ClearContents 'RAZ
With [B16].Resize(h, 7)
  .Cells = t
  On Error Resume Next
  .SpecialCells(xlCellTypeBlanks).Delete xlUp
End With
End Sub
A+
 

Pièces jointes

  • test planning(2).xls
    45 KB · Affichages: 139
  • test planning(2).xls
    45 KB · Affichages: 125
  • test planning(2).xls
    45 KB · Affichages: 120

michelb 74

XLDnaute Nouveau
Re : extraire des données d'un planning

Bonjour Patrick, en fait les résultats souhaités sont l'affichage de la liste des tâches a faire par chaque personne Mais de manière "automatique".
Bonjour "JOB75", Les modèles que vous m'avez envoyés sur l'exemple, correspondent parfaitement!!! n'étant pas très à l'aise avec les macros, je vais prendre le temps de "décortiquer"votre travail pour l'adapter à mon cas, qui en fait inclue une soixantaine de tâches journalières à distribuer à une équipe de 8 personnes....je me permettrai de vous recontacter si je coince dans la modification des lignes de code.... un grand merci pour votre aide... Cordialement Michel
 

job75

XLDnaute Barbatruc
Re : extraire des données d'un planning

Bonjour Michel, Patrick, le forum,

Les textes des tâches peuvent être un peu plus longs.

Avec cette version (3) voici un essai de mise en forme, avec cadrage et application du zoom.

La restitution se fait maintenant 2 lignes sous le tableau.

A+
 

Pièces jointes

  • test planning(3).xls
    47.5 KB · Affichages: 158
  • test planning(3).xls
    47.5 KB · Affichages: 169
  • test planning(3).xls
    47.5 KB · Affichages: 201

michelb 74

XLDnaute Nouveau
Re : extraire des données d'un planning

bonour job 75 et comme c'est encore d'actualité, meilleurs voeux!!!!
je n'avais pas eu votre dernier message, car les solutions que vous m'aviez proposées me correspondaient parfaitement!!!!
merci pour votre implication!!!
 

Statistiques des forums

Discussions
312 211
Messages
2 086 289
Membres
103 170
dernier inscrit
HASSEN@45