Microsoft 365 Masqué et trier des colonnes avant impression

dubarre

XLDnaute Occasionnel
Bonjour à tous je viens vers vous car j'ai un petit souci j'ai réalisé ce code pour pouvoir pré-programmer les impressions selon ce que la personne a besoin le problème est qu'une fois sur deux cela fonctionne pouvez-vous m'expliquer si il y a peut-être une autre façon de faire pour réaliser cela je vous mets le classeur en pièce jointe cela se trouve dans le userform6 et le userform7 je vous mets un exemple de code que j'ai réalisé en plus du classeur merci d'avance de votre aide

VB:
Private Sub CommandButton1_Click()

'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'Impression artistes tous pays
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort.SortFields.Add2 Key:= _
        Range("m3:m45"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Columns("A:A").Select
    Selection.EntireColumn.Hidden = True
    Columns("C:C").Select
    Selection.EntireColumn.Hidden = True
    Columns("F:L").Select
    Selection.EntireColumn.Hidden = True
    Columns("N:AI").Select
    Selection.EntireColumn.Hidden = True
   
    Columns("D:D").ColumnWidth = 20
    Columns("E:E").ColumnWidth = 20
    Columns("D:D").ColumnWidth = 20
    Columns("E:E").ColumnWidth = 20
   
   
   

Unload Me
Feuil5.PrintPreview

ActiveSheet.PageSetup.Orientation = xlPortrait

    With ActiveSheet.PageSetup
        .Zoom = 120
    End With



With Sheets("Vue_listes_artistes").Cells
.EntireColumn.Hidden = False
.EntireRow.Hidden = False
End With

       
    Columns("D:D").ColumnWidth = 30
    Columns("E:E").ColumnWidth = 30

End Sub
 

Pièces jointes

  • Gestion_des_Artistes_v300662020.xlsm
    275.2 KB · Affichages: 22

fanch55

XLDnaute Barbatruc
Oki, vu
ce sont donc :
1594484829809.png

Si je comprend bien, vous ne désirez imprimer que les colonnes qui ne sont pas masquées.
Après plusieurs essais , tout semble fonctionner sauf qu'au rappel des userforms, les boutons ne sont plus synchrones avec ce qui est caché.
 

fanch55

XLDnaute Barbatruc
Bonsoir, A tester
J'ai transformé les données de Vue_liste_Artistes en table structurée "Vue_Artistes" .
J'ai inclus une classe cmdBtnClasse et modifié radicalement le userform7.
Les captions des buttons sont les mêmes que les noms des colonnes ...
 

Pièces jointes

  • Copie de Gestion_des_Artistes_v300662020.xlsm
    234.7 KB · Affichages: 5

fanch55

XLDnaute Barbatruc
Bonjour,
Ci-joint une version sans module de Classe .
Les userforms6 et Userform7 utilisent des listbox en lieu et place des Buttons .
Ces listbox s'adaptent à la la table structurée en cas de suppression ou ajout de colonne.
Pas trop de commentaires dans le code car j’attends votre avis sur la façon de faire ... ;)
 

Pièces jointes

  • Gestion_des_Artistes_Listbox.xlsm
    247.9 KB · Affichages: 4

dubarre

XLDnaute Occasionnel
Bonjour

Cela correspond tout à fait à ce que j'ai besoin merci de vous êtes pencher pour trouver la meilleure solution

Est-ce que un même UserForm peut être utilisé sur plusieurs feuilles je m'explique dans le classeur il y a une partie qui est consultable par tout le monde et une autre partie qui est bloquée par un mot de passe et qui peut être modifié que par une personnes.

Je pose cette question pour essayer de réduire le nombre d'UserForm dans le classeur.

Dans la partie édition soit les personnes peuvent consulter librement ou les personnes qui modifient peuvent aussi ça fait parti de ce que vous me proposez

C'est-à-dire l'onglet "vu liste artiste" est vue par les personnes qui le consultent et l'onglet membres est vue par la personnes qui modifient et ses deux onglets correspondent à la base de données.

Je précise que la base de données ne doit pas directement être consultable

Merci pour votre réponse.
 

fanch55

XLDnaute Barbatruc
Bonsoir,
Code modifié pour s'adapter aux feuilles et à votre demande .

Modifications apportées :

Feuille Vue_Liste_Artiste :
Table Vue_Artistes=$A$3:$AI$51 ( Dynamique )​
Affectation macro EditionsCourantes "Vue_Artistes" au Rectangle 3​
Affectation macro EditionsParticulieres "Vue_Artistes" au Rectangle 5​
Feuille Membres :
Table Membres=$A$3:$AI$52 ( Dynamique )​
Affectation macro EditionsCourantes "Membres" au Rectangle 1​
Affectation macro EditionsParticulieres "Membres" au Rectangle 7​
Feuille BDD:​
Table BDD=$A$1:$AI$50 ( Dynamique )​
Pas de macro, mais rien ne l’empêche ..​
Refonte de UserForm6 et Userform7 .
Module1:
EditionsParticulieres​
EditionsCourantes​
Donc, pour répondre à votre dernière question, les mêmes userforms sont exploités par 2 feuilles différentes ( voire 3 ) mais ceci est possible grace à la structure identique de celles-ci .​
 

Pièces jointes

  • Gestion_des_Artistes_Listbox.xlsm
    490.7 KB · Affichages: 6
Dernière édition:

dubarre

XLDnaute Occasionnel
Bonjour merci pour cette proposition vous avez énormément travaillé remercie encore une fois.

Sur la feuille vu liste artiste sur la feuille de membre quand vous dites dynamiques est-ce que c'est à partir du moment c'est importé d'une autre feuille ces dynamiques et si je rajoute une 52e ligne il la prend en compte directement.

Quand vous dites les mêmes UserForm sont exploités par deux feuilles différents quand vous dites la structure c'est les mêmes colonnes endroit par exemple. ?

Encore merci pour votre aide je prends le temps de voir ce que vous avez fait pour essayer de comprendre.
 

fanch55

XLDnaute Barbatruc
Bonjour,

Dynamique veut bien dire que si vous ajoutez ou supprimez une ligne ou une colonne à vos tables structurées, cette modification sera détectée par les Userforms qui s'y adapteront (toutefois si les noms restent les mêmes) .

Dans la version ci-jointe,
J'ai réuni toutes les Sub créées ou modifiées dans le Module0.

J'ai modifié la façon dont vous re-créez les Membres et la vue des Artistes afin de ne pas perdre les Tableaux structurés .
 

Pièces jointes

  • Gestion_des_Artistes_Listbox.xlsm
    517.6 KB · Affichages: 2

Discussions similaires

Réponses
3
Affichages
550
Réponses
11
Affichages
396
Réponses
2
Affichages
883

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla