Microsoft 365 Masqué et trier des colonnes avant impression

dubarre

XLDnaute Junior
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
 

Fichiers joints

fanch55

XLDnaute Impliqué
Salut, on ne sait pas trop comment provoquer l'impression ou l'affichage des Userforms .selon ton besoin...
 

dubarre

XLDnaute Junior
Bonjour merci de vous pencher sur mon problème mais il n'y a pas de fenêtre qui s'ouvre c'est directement un bouton sur la feuille qui enclenche le masque des colonnes et le filtre
 

fanch55

XLDnaute Impliqué
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é.
 

dubarre

XLDnaute Junior
Bonjour merci pour votre réponse mais quand vous voulez dire les boutons sont plus synchrones comment je peux faire cela s'il vous plaît dans l'édition particulière par exemple comment je peux faire svp
 

fanch55

XLDnaute Impliqué
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 ...
 

Fichiers joints

dubarre

XLDnaute Junior
Bonjour merci de votre aide pour je puisse comprendre ce que vous me dites à quoi sert le module de classe est la différence avec module svp
 

fanch55

XLDnaute Impliqué
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 ... ;)
 

Fichiers joints

dubarre

XLDnaute Junior
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.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas