Microsoft 365 Masqué et trier des colonnes avant impression

dubarre

XLDnaute Occasionnel
Supporter XLD
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 Occasionnel
Supporter XLD
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 Occasionnel
Supporter XLD
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

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 Occasionnel
Supporter XLD
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 Impliqué
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 .​
 

Fichiers joints

Dernière édition:

dubarre

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

Fichiers joints

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