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

Sigmund173

XLDnaute Occasionnel
Bonjour Dranreb,

J'ai fait les modifications comme indiqué, cependant même en modifiant la mise en page dans excel, une fois le pdf crée il reste en mode portrait ?
Et dans mon summary exclusion je n'ai pas tous les noms, une idée du pourquoi (je sais question bête puisque vous, vous savez :-D)
 

Pièces jointes

  • GigogneSigmund173.xlsm
    467 KB · Affichages: 5

Dranreb

XLDnaute Barbatruc
Bonjour.
Oui, vous n'avez pas rectifié la mise en page de la feuille. Une fois cela fait il n'y aura pas de raison qu'elle change.
Vous pouvez si vous y tenez ajoutez dans la macro TransfertY des instructions qui modifient d'autres propriétés de WshCbl.PageSetup que la .PrintArea
VB:
Application.PrintCommunication = False
   With WshCbl.PageSetup
      .PrintArea = WshCbl.UsedRange.Address
      .PrintTitleRows = "$1:$1"
      .Orientation = xlLandscape
      .FitToPagesWide = 1
      .FitToPagesTall = False
      End With
   Application.PrintCommunication = True
 

Dranreb

XLDnaute Barbatruc
Parce qu'il n'y a rien dans la Summary
Toute la colonne "I" de la Summary est vide.
Vous ne devriez pas appeler cette feuille comme ça si elle doit recevoir le résultat de la macro ExcluGlob
il faut supprimer dans Summary le bouton qui exécute la TransfertY, c'est tout.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Il faut bien évidemment rectifier la mise en page avant d'imprimer en pdf !
Affectez la macro ExcluGlob au bouton "Exclusion TAB creation", pas TransfertY !
Elle ne plante certes plus parce qu'il existe maintenant une feuille "Summary Exclusion" mais tente toujours un traitement idiot !
 
Dernière édition:

Sigmund173

XLDnaute Occasionnel
Chouette ça c'est réglé et ça marche l'exclusion TAB... top
Pour la mise en page c'est drole car j'avais changé la mise en page sur HR et bien sur tout fonctionne, je n'ai pas changé la mise en page pour Other et ça fonctionne quand même et pas changé la mise en page pour Finance et ça marche pas
Pourquoi Other c'est bon et pas Finance du coup ?
 

Dranreb

XLDnaute Barbatruc
Ce sont les largeurs de colonnes qui ne vont pas dans la feuille Finance Exclusion.
Si tous les Pdf étaient généré à partir de la même feuille il n'y aurait que celle ci à régler.
Ceci dit une instruction WshCbl.Columns.AutoFit avant de régler la mise en page arrange les choses.
La WshCbl.ExportAsFixedFormat doit être exécutée tout en dernier, une fois ma mise en page de la feuille effectuée.
 

Sigmund173

XLDnaute Occasionnel
Bonjour Dranreb,

J'ai beau tout essayé sur cette TAB rien ne fonctionne, je ne sais pas si vous avez vu mais quand on génère le pdf, le format n'est pas bon et en plus dans l'entête il n'y a plus "DFS" qui est remplacé par \\DOMAIN\COUNTRY ... et après on a bien "Permissions" PRincipal" ....
Vraiment bizarre sur cette TAB et désolé de ne pas y arriver :-(
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Les colonnes de cette feuille ont toujours la largeur identique trop petite même en ajoutant l'instruction WshCbl.Columns.Autofit avant le groupe d'intructions With WshCbl.PageSetUp, lui même avant le WshCbl.ExportAsFixedFormat final ?

Chez moi ça a l'air correct avec la procédure écrite comme ça :
VB:
Sub TransfertY()
   Dim WshSrc As Worksheet, WshCbl As Worksheet, Rng As Range
   Set WshSrc = ActiveSheet
   Set WshCbl = ThisWorkbook.Worksheets(WshSrc.Name & " Exclusion")
   WshCbl.[2:10000].Delete
   Set Rng = ColLignesOùRelat(WshSrc.[A2:H2], "I", "<>", "")
   If Not Rng Is Nothing Then Rng.Copy Destination:=WshCbl.[A2]
   WshCbl.Columns.AutoFit
   Application.PrintCommunication = False
   With WshCbl.PageSetup
      .PrintArea = WshCbl.UsedRange.Address
      .PrintTitleRows = "$1:$1"
      .Orientation = xlLandscape
      .FitToPagesWide = 1
      .FitToPagesTall = False
      End With
   Application.PrintCommunication = True
   WshCbl.ExportAsFixedFormat Type:=xlTypePDF, _
      Filename:=ThisWorkbook.Path & "\Visa exclusion " & WshSrc.Name & ".pdf", _
      Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, _
      OpenAfterPublish:=True
   End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Remplacez l'instruction mise en commentaire ci après par le groupe d'instructions juste en dessous :
VB:
'   If Not Rng Is Nothing Then Rng.Copy Destination:=WshCbl.[A2]
   If Rng Is Nothing Then
      MsgBox "Aucune coche mise" & vbLf & "==> pdf non créé.", vbCritical, "TransfertY"
      Exit Sub: End If
   Rng.Copy Destination:=WshCbl.[A2]
 

Statistiques des forums

Discussions
314 450
Messages
2 109 730
Membres
110 553
dernier inscrit
loic55