XL 2013 Automatisme pour remplir des TABs

Sigmund173

XLDnaute Occasionnel
Bonjour à tous,

j'aurais besoin d'un petit coup de pouce sur mon fichier excel.
Ce que je voudrais faire c'est la démarche suivante:
Je dois créer une liste d'exclusion afin de ne pas couper les accès à certains utilisateurs.
Pour ce faire j'ai une liste de dossier partagé (G Drive) et une liste des personnes qui seront transféré dans une autre institution (Transfer list).

Maintenant à partir de ces deux listes je souhaite que les responsables des dossiers (Folder Owner) soit identifié et mis automatiquement dans le TAB Folder Owner.
Si le dossier n'est pas listé, je souhaite qu'il aille dans la bonne section, Ressource Humain dans le TAB HR, Finance dans Finance et tout le reste dans Other.
J'ai mis dans le fichier le résultat souhaité, comment faire pour que ce soit automatique.
D'avance je vous remercie de votre aide
Cordialement

Olivier.
 

Pièces jointes

  • Book1.xlsx
    14 KB · Affichages: 63

Dranreb

XLDnaute Barbatruc
C'est compliqué.
je n'ai pas supprimé de ligne pour perturber le moins possible les données d'origine vu que je n'ai pas l'intention de l'enregistrer, je l'ai juste ouvert.
Mais un début de piste se profile vaguement dans mon esprit : Si on diminue le nombre de transférés on dimunue du même coup les Folder Owner transférés, ce qui augmente les chances que certains autres soient ventilés ailleurs.
 
Dernière édition:

Sigmund173

XLDnaute Occasionnel
Ce sont des dossiers partagé, comme vous pouvez le voir il y a des membres qui sont dans d'autres pays et qui ont accès au dossier, du coup on va voir si les personnes qui sont transférés doivent encore avoir accès à ce dossier et donc que le fameux dossier ne soit pas transféré.
C'est justement le but de la manoeuvre voir qui a accès à quoi et quels sont les dossiers qu'on va transférer ou pas
 

Sigmund173

XLDnaute Occasionnel
Vous pouvez l'enregistrer je vous fait confiance pas de souci et faire les tests qui s'impose afin de voir le pourquoi du comment.
Dans les tests qu'on avait fait avant les personnes étaient aussi dans le folder owner et dispatché dans les différentes TAB.
La seule chose qui change c'est qu'avant on avait 15 personnes dans la liste de transfert et là on en a 285
 

Sigmund173

XLDnaute Occasionnel
Le souci des Folder owner c'est que dans l'entreprise ils ne sont pas encore d'accord sur le fait de transférer tous les dossiers qui sont dans le Folder owner, certains sont pour d'autres préfère qu'on fasse un check complet et qu'on garde ça pour info.
En fait l'idéal serait que ça fonctionne comme vous l'avez fait au début avec la liste bidon
C'est à dire un dispatch dans chaque TAB même si certains sont dupliqués (sont en double) ce n'est pas grave car chaque TAB sera une liste à signer
 

Dranreb

XLDnaute Barbatruc
Je ne retrouve pas dans la discussion ce que j'avais retenu, et qui disait à peu près "un Folder Owner d'un dossier qui s'en va emmène avec lui les droits d'accès pour tout le monde pour ce dossier".
De fait, on le voit dans la procédure, si l'Owner (colonne 5) figure parmi les transférés, la destination ne peut être que "Folder Owner" et éventuellement une ou plusieurs copies vers "Deputy not transferred"
En aucun cas ils ne peuvent plus aller dans les feuille dispatchées.
 

Sigmund173

XLDnaute Occasionnel
Je ne retrouve pas dans la discussion ce que j'avais retenu, et qui disait à peu près "un Folder Owner d'un dossier qui s'en va emmène avec lui les droits d'accès pour tout le monde pour ce dossier".
De fait, on le voit dans la procédure, si l'Owner (colonne 5) figure parmi les transférés, la destination ne peut être que "Folder Owner" et éventuellement une ou plusieurs copies vers "Deputy not transferred"
En aucun cas ils ne peuvent plus aller dans les feuille dispatchées.

Effectivement c'est bien possible, on en avait parlé et vous m'aviez dit que les autres TAB étaient inutile du coup mais le souci c'est que tout ce qu'on fait doit être approuvé et signé et dans des listes séparé, Folder owner, HR, Finance, Qualité, Ohter, ... en tout cas l'idée est bien de transférer les folder owner mais comme vous le savez il y aura tjs des exceptions et donc on doit pouvoir anticiper ça.
ça permet aussi d'avoir plus de visibilié sur chaque dossier et aussi de dire ce folder owner ne sera pas transféré et que 3 sur 20 personnes peuvent encore avoir accès dessus
C'est pour ça que chaque liste doit être crée, revue et signée
 

Dranreb

XLDnaute Barbatruc
Les WshXcl… n'ont rien à voir avec ça. Je parle de ce qui se passe jusqu'aux WshDsp…
Seul y vont actuellement, et comme ça a toujours été le cas, les GroupMember transférés utilisant les dossiers des Owner non transférés.
Si vous voulez autre chose il faut me dire ce que vous voulez.
 
Dernière édition:

Sigmund173

XLDnaute Occasionnel
Alors ce qu'on aimerait c'est que dans le TAB:
  • Folder owner on y trouve tous les owners des dossiers
  • HR tous les membres qui ont accès au dossier HR
  • Finance tous les membres qui ont accès à Finance
  • Qualité, etc que je rajouterais au beson ...
  • Other tous ceux qui ne vont pas dans les autres TABS

On a 129 groupes dans la liste, il faudrait dispatché 129 dans les TABs, HR, Finance, Other
Et avoir dans le folder owner tous les owner et dans les deputy non transféré les personnes qui ne sont pas transféré
Les listes revues et signées seront les HR, Finance, Other .... et éventuellement Folder owner, la deputy sera pour info et à voir s'il faudra une signature ou pas.

En gros il faut tout dispatché dans les différentes TABs
 

Dranreb

XLDnaute Barbatruc
Alors il suffit de remonter le End If. Ça donne ça :
VB:
Option Explicit

Sub Dispatch()
   Dim TDon(), LD As Long, DicTrs As New Dictionary, TGDr(), LG As Long, _
      C As Long, Détail, Dst As SsGr, TR(), LR As Long, Wsh As Worksheet
   TDon = PlgUti(WshTrans.[A2]).Value
   For LD = 1 To UBound(TDon, 1): DicTrs(TDon(LD, 1)) = True: Next LD
   TGDr = PlgUti(WshGDrv.[A2]).Value: LD = 0
   ReDim TDon(1 To 100000, 1 To 9)
   For LG = 1 To UBound(TGDr, 1)
      If DicTrs.Exists(TGDr(LG, 5)) Then
         LD = LD + 1
         For C = 1 To 8: TDon(LD, C) = TGDr(LG, C): Next C
         TDon(LD, 9) = "Folder Owner"
         For Each Détail In Split(TDon(LD, 7), ",")
            If Not DicTrs.Exists(Détail) Then
               LD = LD + 1
               For C = 1 To 6: TDon(LD, C) = TGDr(LG, C): Next C
               TDon(LD, 7) = Détail
               TDon(LD, 8) = TGDr(LG, 8)
               TDon(LD, 9) = "Deputy not transferred"
               End If: Next Détail: End If
      For Each Détail In Split(TGDr(LG, 8), ",")
         If DicTrs.Exists(Détail) Then
            LD = LD + 1
            For C = 1 To 7: TDon(LD, C) = TGDr(LG, C): Next C
            TDon(LD, 8) = Détail
            Select Case True
               Case TDon(LD, 1) Like "*HR": TDon(LD, 9) = "HR"
               Case TDon(LD, 1) Like "*FINANCE": TDon(LD, 9) = "Finance"
               Case Else: TDon(LD, 9) = "Other": End Select: End If: Next Détail: Next LG
   MGigogne.DernièreLigneÀIndexer = LD
   For Each Dst In Gigogne(TDon, 9)
      ReDim TR(1 To 99500, 1 To 10): LR = 0
      For Each Détail In Dst.Co
         LR = LR + 1
         For C = 1 To 8: TR(LR, C) = Détail(C): Next C, Détail
      Set Wsh = ThisWorkbook.Worksheets(Dst.Id)
      With Wsh.[I2:I10000]: .ClearContents: .Interior.ColorIndex = xlColorIndexNone: End With
      Wsh.[A2].Resize(UBound(TR, 1), UBound(TR, 2)) = TR
      Wsh.Names.Add "Flag", Wsh.[I2].Resize(LR)
      Wsh.[Flag].Interior.Color = &HB8FD00
      Next Dst
   End Sub
Comme ça les Folder Owner sont aussi dispatchés mêmes s'ils sont transférés.
 

Sigmund173

XLDnaute Occasionnel
Effectivement ça à l'air de mieux fonctionner, par contre je me retrouve avec dans le summary
129 groupes dans G Drive

66 dans Folder Owner
1 dans HR
2 dans Finance
55 dans Other

J'ai l'impression qu'il en manque ?
Qu'il y en ait moins c'est possible vu que toutes les personnes ne sont pas forcément du site mais j'ai l'impression que ça fait beaucoup

Je vais faire une verification manuel pour controler
En tout cas merci pour le coup de main
 

Sigmund173

XLDnaute Occasionnel
Après si je veux en rajouter des TABs je n'ai qu'à faire ainsi et ça devrait fonctionner

VB:
Select Case True
               Case TDon(LD, 1) Like "*HR": TDon(LD, 9) = "HR"
               Case TDon(LD, 1) Like "*FINANCE": TDon(LD, 9) = "Finance"
               Case TDon(LD, 1) Like "*Quality": TDon(LD, 9) = "Quality"
               Case TDon(LD, 1) Like "*TLCM": TDon(LD, 9) = "TLCM"
 

Statistiques des forums

Discussions
312 198
Messages
2 086 146
Membres
103 130
dernier inscrit
FRCRUNGR