Se souvenir des selection du premier Usf pour les actions du deuxieme

CHRISTOPHEAGPM

XLDnaute Nouveau
Bonjour à tous,

Grace à vous je viens de finaliser la première partie de mon projet (En 3 semaines c'est pas du luxe ;)), En piochant à droite à gauche des lignes de code sur le forum et avec l'aide précieuse de Skoobi je suis parvenu à un résultat satisfaisant.
Aujourd'hui grace à un USF je peux, à l'aide de chekbox, afficher ou masquer des colonnes situées sur une autre feuille (de A à CI), ceci me permet de rentrer et classer des données qui me parviennent dans des fichiers excel "brut" et sans classement.
Ces données sont classées dans un onglet nommé "votre choix", j'effectue ensuite un tri, et à l'aide de copier-coller je dispatche ces infos dans différentes feuilles.
Je solicite aujourd'hui votre aide pour pouvoir à l'aide d'un deuxieme USF que j'ai appelé "Navigation" et qui s'affiche des qu'une feuille est activée refaire le meme tris qu'avec le 1er USF mais en décalant les colonnes (cette fois ci de J à CR)

Pour l'exemple au bouton "afficher tout" est affectée la macro suivante :

Sub tous()
liste = Array("J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", "CR", "CS")
For n = 0 To UBound(liste)
If Columns(liste(n)).Hidden = True Then
Columns(liste(n)).Hidden = False
Else
Columns(liste(n)).Hidden = True
End If
Next n
End Sub



Sur le deuxieme bouton "Afficher selection" je souhaiterai que lorsque je l'active, seule les colonnes selectionnées grace au premier USF s'affichent (mais en tenant compte du décalage car dans les différentes feuilles les colonnes A à I contiennent des données fixes (noms, prénoms...)

En cliquant sur le 3eme "hors selection" seules les colonnes non sélectionnées dans le 1er USF apparaitront.

Je pense que le principe serait

liste = Array(" seulement les checkbox cochées dans USF1")

et

liste = Array(" seulement les checkbox non cochées dans USF1")


Lorsque j'aurais compris le principe j'integrerai ensuite un certains nombre de macro supplémentaires mais sans votre aide je crois que j'y serai encore à noel :eek:.

Je joins un exemple qui je l'espere vous éclairera un peu plus que ma prose.

Merci de votre aide.

Christophe
 

Pièces jointes

  • macro .zip
    150.1 KB · Affichages: 37
  • macro .zip
    150.1 KB · Affichages: 33
  • macro .zip
    150.1 KB · Affichages: 35

jp14

XLDnaute Barbatruc
Re : Se souvenir des selection du premier Usf pour les actions du deuxieme

Ci joint le fichier avec une première approche
Sauvegarde des infos dans la feuille sommaire colonne 26
Utilisation des infos pour afficher.
Il faut rendre incompatible les choix contradictoire en utilisant la propriété "GroupName".

A modifier

A tester

JP
 

Pièces jointes

  • Classeur exemple.zip
    44.8 KB · Affichages: 30
  • Classeur exemple.zip
    44.8 KB · Affichages: 31
  • Classeur exemple.zip
    44.8 KB · Affichages: 29

CHRISTOPHEAGPM

XLDnaute Nouveau
Re : Se souvenir des selection du premier Usf pour les actions du deuxieme

Merci pour ta réponse JP,

L'USF n'étant plus attaché dans ton exemple j'ai un doute,
les codes seraient à rentrer au niveau du premier USF (celui qui masque ou affiche les colonne à partir de A), c'est à dire qu'en meme temps qu'il cocherait les cases, il les mémoriserait dans une des colonnes d'une feuille quelconque. Le deuxième USF se servirait alors de ces données pour effectuer le tri sur l'ensemble des autre feuilles ?

Si c'est bien cela peux tu me dire dans quelle direction je dois m'orienter ?
Utiliser le module de classe dans un premier temps en rajoutant un code qui enregistrerait les coches ? rechercher comment rappatrier les données dans un deuxième temps à partir du deuxième USF ?

Mon niveau est celui d'un débutant motivé (j'aurais dû compter les heures depuis ma premiere visite sur ce forum, ça vous aurez fait rigoler). Si ce que je souhaite réaliser est au dessus de mes compétences peut etre vaut t'il mieux que je rentre les filtres dans différentes macros, (c'est plus long mais ça maintenant je sais le faire hihi:)

Encore merci

Christophe
 

jp14

XLDnaute Barbatruc
Re : Se souvenir des selection du premier Usf pour les actions du deuxieme

Bonsoir

L'Userform3 permet de définir les colonnes qui seront masquées. C'est à partir des colonnes sélectionnées que la mise à jour est réalisé avec le bouton de validation.
L'userform2 permet la réalisation des options définies dans l'userform3.

JP
 

Discussions similaires