exporter vers un onglet

altinea

XLDnaute Accro
Bonjour, je suis à la recherche d'une solution, ayant testé mais sans succès les recherchev equiv, index equiv, je me tourne mers vous pour savoir comment je pourrai faire pour obtenir le résultat suivant.
A partir d'un onlet où j'ai toutes les infos, je souhaiterai exporter vers un autre onlgles certaines infos. Acutellement je procède via la création de nombreux onglets pour arriver au résultat escompté.

Ci après deux images qui donnes une idée de ce que je voudrai faire.

merci pour votre aide


onlglet contenant l'ensemble des données



onglet contenant la synthèse des infos de l'onglet 1
 
Dernière édition:

altinea

XLDnaute Accro
Re : exporter vers un onglet

Re bonsoir,
en parcourant le fichier pour vérifier les infos, il y a un élément qui n'est pas pris en considération. En effet certains agents ont suivi la meme formation et donc l'historique en fait état, l’inconvénient est que la date qui figure dans le tableau pour la synthèse fait apparaitre la première date et non la plus récente.
Est il possible de prendre en compte ce critère dans votre travail.

Exemple : ligne 15 et 16 feuille 1, ligne 61,62,63 feuille 1

Une autre question, le code formation peut il etre associé au libellé ?

Merci encore pour votre aide
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Pour prendre en cas d'égalité la date la plus élevé ajoutez ', , 9' avant la parenthèse dans la 3ième instruction exécutable. Comme ça :
VB:
Set Données = GroupOrg(T, 2, 3, 4, 5, , 9)
Pour le code formation c'est beaucoup moins évident mais je vais regarder.
Ça devrait néanmoins rester classé de gauche à droite par ordre alpha du libellé ?
 

altinea

XLDnaute Accro
Re : exporter vers un onglet

Bonsoir,
pour le code formation, soit le plus simple pour vous, par ordre croissant du code formation ou par ordre alphabétique tel que c'est là avec l'info du code.
Comme il sera plus aisé de faire
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Nouveau code :
VB:
Option Explicit

Private Sub Worksheet_Activate()
Dim T(), Dic As Dictionary, Données As Collection, Tit() As String, Site As SsGroup, _
   Nom As SsGroup, Prénom As SsGroup, Agent As SsGroup, L&, K(), N&, Détail
T = PlgUti(Feuil1.Rows(4)).Value
Set Dic = DicInvent(T, 7, ColDép:=5)
Set Données = GroupOrg(T, 2, 3, 4, 5, , 9)
For Each Site In Données
   For Each Nom In Site.Contenu
      For Each Prénom In Nom.Contenu
         L = L + Prénom.Count
         Next Prénom, Nom, Site
ReDim Tit(5 To 4 + Dic.Count)
For Each Nom In GroupOrg(T, 7): Tit(Dic(Nom.Id)) = Nom.Contenu(1)(6) & " — " & Nom.Id: Next Nom
ReDim T(1 To 1 + L, 1 To 4 + Dic.Count)
T(1, 1) = "SITE": T(1, 2) = "NOM": T(1, 3) = "PRÉNOM": T(1, 4) = "AGENT"
For N = 5 To UBound(Tit): T(1, N) = Tit(N): Next N
L = 1
For Each Site In Données
   For Each Nom In Site.Contenu
      For Each Prénom In Nom.Contenu
         For Each Agent In Prénom.Contenu
            L = L + 1: T(L, 1) = Site.Id: T(L, 2) = Nom.Id: T(L, 3) = Prénom.Id: T(L, 4) = Agent.Id
            For Each Détail In Agent.Contenu
               T(L, Dic(Détail(7))) = Détail(9)
               Next Détail, Agent, Prénom, Nom, Site
ValPlgAju(PlgUti(Me.[A3])) = T
End Sub
 

altinea

XLDnaute Accro
Re : exporter vers un onglet

Re, désolé de revenir vers vous, j'aimerai savoir s'il est possible de n'afficher que les dates d'une année présente dans le tableau ?

Avoir al possibilité de voir toutes les dates affichées ou de réduire à une vision annuelle ?

merci pour votre réponse
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Ça devrait être possible…
Soit en pré-filtrant les données aux numéros de lignes comportant une date de l'année souhaitée, soit en calculant une colonne supplémentaire dans le tableau T avec l'année, qui serait un niveau de regroupement global. On sortirait toujours tout mais par années.
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Le rapport complet avec toutes les années mais classé par années ne vous intéresse donc pas…
Je décompose déjà le module en deux procédures la deuxième avec l'année désirée passée en paramètre. Et la Worksheet_Activate qui l'invoque pour l'année de la date du jour :
VB:
Option Explicit

Private Sub Worksheet_Activate()
Rapport Year(Date)
End Sub

Sub Rapport(Optional ByVal An)
Dim T(), Dic As Dictionary, Données As Collection, Tit() As String, Site As SsGroup, _
   Nom As SsGroup, Prénom As SsGroup, Agent As SsGroup, L&, K(), N&, Détail
T = PlgUti(Feuil1.Rows(4)).Value
Set Dic = DicInvent(T, 7, ColDép:=5)
If Not IsMissing(An) Then
   Dim TLgn() As Long: ReDim TLgn(1 To UBound(T))
   For L = 1 To UBound(T)
      If Year(T(L, 9)) = An Then N = N + 1: TLgn(N) = L
      Next L
   ReDim Preserve TLgn(1 To N): Préfiltrer TLgn: L = 0: End If
Set Données = GroupOrg(T, 2, 3, 4, 5, , 9)
For Each Site In Données
   For Each Nom In Site.Contenu
      For Each Prénom In Nom.Contenu
         L = L + Prénom.Count
         Next Prénom, Nom, Site
ReDim Tit(5 To 4 + Dic.Count)
For Each Nom In GroupOrg(T, 7): Tit(Dic(Nom.Id)) = Nom.Contenu(1)(6) & " — " & Nom.Id: Next Nom
ReDim T(1 To 1 + L, 1 To 4 + Dic.Count)
T(1, 1) = "SITE": T(1, 2) = "NOM": T(1, 3) = "PRÉNOM": T(1, 4) = "AGENT"
For N = 5 To UBound(Tit): T(1, N) = Tit(N): Next N
L = 1
For Each Site In Données
   For Each Nom In Site.Contenu
      For Each Prénom In Nom.Contenu
         For Each Agent In Prénom.Contenu
            L = L + 1: T(L, 1) = Site.Id: T(L, 2) = Nom.Id: T(L, 3) = Prénom.Id: T(L, 4) = Agent.Id
            For Each Détail In Agent.Contenu
               T(L, Dic(Détail(7))) = Détail(9)
               Next Détail, Agent, Prénom, Nom, Site
ValPlgAju(PlgUti(Me.[A3])) = T
End Sub
Après pour l'intendance qui permettrait de l'appeler pour une date différentes choisie dans une liste je vous laisse faire, ce n'est plus aussi pointu. Attention: les titres sont quand même encore ceux de l'ensemble des données.
 

altinea

XLDnaute Accro
Re : exporter vers un onglet

Bonsoir,
Merci, mais je dois avouer que je ne vois pas la différence, et pour l'intendance comme vous dites, certes ce n'est plus aussi pointu, mais pour ma part ça l'est plus que vous ne pensez, si vous pouvez m'aiguiller cela me permettra de compléter mes connaissances.
merci
 

altinea

XLDnaute Accro
Re : exporter vers un onglet

re, je reprends vos propos "Le rapport complet avec toutes les années mais classé par années ne vous intéresse donc pas…"
cela donnerai quoi? je ne vois pas trop le principe. A priori si je me base sur ma réflexion, le tableau comprendrait l'ensemble des années et classé par ce critère, cela voudrait dire que je retrouverai plusieurs fois le nom de l’agent au regard de ces dates?
Je ne tiens pas à vous faire travailler sur des options, en attendant je vous remercie pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Est-ce que l'année inscrite en A1 ne ferait pas l'affaire ? En prenant celle de la date du jour s'il y a du texte comme "Cette année". Et tout si elle est vide comme c'est le cas actuellement.
J'ai pu établir depuis une programmation qui ne restitue que les titres utilisés dans la partie reproduite.

Ah je répondais au message précédent.
Oui, l'idée c'était de toujours sortir tout, mais comme si les années qu'on aurait pu demander étaient toutes reproduites, les unes derrière les autres. Mais apparemment ça ne vous intéresse pas.
 
Dernière édition:

altinea

XLDnaute Accro
Re : exporter vers un onglet

Concernant votre proposition, effectivement je veux bien l'essayer, et voir ce que cela donne, il se peut que cela me convienne.
Pour l'année en A1 cela serait une bonne idée, et éventuellement utiliser une liste déroulante (ça je sais faire), voilà je suis preneur quoi qu'il en soit de toute approche, je vous en remercie
 

Dranreb

XLDnaute Barbatruc
Re : exporter vers un onglet

Bon alors voila le fichier avec en A1 l'année, ou un texte quelconque pour l'année en cours ou vide pour avoir tout (mais années toujours mélangées, sinon ça ne servirait à rien de pouvoir en sélectionner une: il suffirait d'aller voir à cette année là).
 

Pièces jointes

  • GrpOrgAltinea.xls
    453.5 KB · Affichages: 37
  • GrpOrgAltinea.xls
    453.5 KB · Affichages: 48
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 525
dernier inscrit
gbaipc