"Filtrer" sur des colonnes de maniere en horizontale

Malka

XLDnaute Occasionnel
Bonjour à toutes & à tous,

J'ai un vrai probleme en ce moment avec un fichier excel où j'ai 4000 colonnes et 10000 lignes. Je souhaites creer des "affichages personnalisées" et pour ce faire je suis obligée de faire apparaitre les colonnes qui m'interessent sur les 4000. :(

Or cela me prend un temps fou car j'ai 100 "affichages personnalisées" à creer. :mad:

Pour gagner du temps, je pense qu'une macro peut m'aider mais je ne vois pas comment la programmer ? :cool:

Cette macro doit selectionner toutes les colonnes portant une etiquette donnée (je la déclarerait à la main) sur la ligne 2 de mon tableau ? :confused:

Merci pour votre aide precieuse :rolleyes:

Malka

PS : La transposition des données ne me va pas car cela demande trop de manip faire au final mes "affichages personnalisées"
 

Malka

XLDnaute Occasionnel
Re : "Filtrer" sur des colonnes de maniere en horizontale

Bonjour Efgé,

En fait mon probeme est simple (je pense...). Oublions les histoires des "affichages personnalisées". C'etait juste pour expliquer le contexte.
Mon probleme tient sur le filtre de colonne cad en horizontale.
Exemple de tableur sur la ligne 2 où le filtre doit etre apppliqué: Les lettres representent les etiquettes de colonne

A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F A B C D E F

Apres le filtre sur le critere "A" par exemple et on doit avoir le resultat suivant :

A A A A A A A A A et les autres colonnes doivent etre masquées

Je ne sais pas si c'est plus clair

Merci

Malka
 

Efgé

XLDnaute Barbatruc
Re : "Filtrer" sur des colonnes de maniere en horizontale

Re, Bonjour Dugenou,
Fournir un exemple èvite à celui qui répond de devoir le faire pour tester sa proposition avant de la déposer ....
Beaucoup plus "basic" que la solution complète de Pascal, mais on ne sais jamais. (voir fichier joint)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(1, 1)) Is Nothing Then
    Columns.Hidden = False
    If Target.Value = "" Then Exit Sub
    For i = Cells(2, Columns.Count).End(xlToLeft).Column To 2 Step -1
        If Cells(2, i).Value <> Target.Value Then Columns(i).Hidden = True
    Next i
End If
End Sub
Cordialement
 

Pièces jointes

  • Malka.xls
    21.5 KB · Affichages: 277
  • Malka.xls
    21.5 KB · Affichages: 325
  • Malka.xls
    21.5 KB · Affichages: 333
Dernière édition:

Malka

XLDnaute Occasionnel
Re : "Filtrer" sur des colonnes de maniere en horizontale

Bonjour,

Merci à vous deux ! ;)
Efgé tu as répondu parfaitement à mon probleme ! Si je reviens dans le contexte principal de mon probleme, le filtre me permettait de selectionner rapidement les colonnes voulues et d'enregistrer l'affichage personnalisé correspondant.
Mais avec le petit bijoux de PascalXLD (le code sensiblement le meme que Efgé), je n'ai plus besoin de faire mes horribles affichages puisque tout est geré par l'userforme (j'ai du le réadapter à mes besoins)
Voila :cool:

Merci pout tout

Malka
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 066
Membres
103 110
dernier inscrit
Privé