Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Cacher colonnes selon choix pour affichage et impression

  • Initiateur de la discussion Initiateur de la discussion KIM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KIM

XLDnaute Accro
Bonjour les ami(e)s, bonjour le forum,
Dans un projet excel, j'ai créé une feuille recapitulative des transferts de chaque DEP par Service (S1 à S25) et par type de transfert (A,B,C etc...).
J'ai limité le nombre de service et le nombre de type de transfert sinon le tableau sera tres grand.
J'ai besoin de votre aide pour visualiser les informations concernant un service donné et les imprimer si necessaire.
Dans D2 j'ai defini une liste des services avec comme 1er element = TOUT
LES colonnes da A à F doivent etre toujours visibles à l'ecran et à l'impression

Quand je selectionne dans D2 un service par exemple S1, est-il possible de
visualises les col A à F avec les autres colonnes dont les cellules de la ligne 6 contiennent S1, ensuite les imprimer si necessaire.
fichier joint en exemple
Merci de votre aide
Amicalement
KIM
 

Pièces jointes

Re : Cacher colonnes selon choix pour affichage et impression

Re,
Tu as raison, des qu'on utilise les 2 filtres ça merdouille comme tu l'as dit.
Pour le resultat c'est bon, mais malheureusement je ne peux l'appliquer sur mes données reelles car mes codes sont differents de Sx ou code_x,
la comparaison ci-dessous ne fonctionnera pas
Cells(6, j).Value = "S" & i
Cells(k, 3).Value = "code_" & i

Merci si tu peux m'aider pour resoudre ce probleme et t'en remercie vivement
KIM
 
Re : Cacher colonnes selon choix pour affichage et impression

re,

Mets moi en pièces jointes un exemple de ton fichier avec les données telles qu'elles pourraient se présenter, et je te fais la modif, mais tu vas voir que ca allourdit pas mal le code.

En attendant ton fichier...

@+
 
Re : Cacher colonnes selon choix pour affichage et impression

Re,
Ci-joint un extrait du fichier des données à visualiser et à imprimer.
Je n'oublie pas qu'il faut utiliser un filtre à la fois.
Est-il possible de fixer dans la macro par variables les lignes et les colonnes à traiter à traiter celà me facilite l'adaptation selon le besoin de la macro.
Ligne de reference : 4
col de reference: E
ligne de debut des données: ligne 6
col de debut des donnees: col K
1- Pour le filtre1: selection des colonnes
a) par Labo:
Ligne de Reference: L6
En fixant le labo dans la cellule B2, je visualise toujours les col A à J ainsi que les col dont les cellules de la ligne 4 = au labo selectionné,
ensuite pouvoir imprimer le resultat.
b) meme principe pour une ligne 7 comme ligne de reference
2- Pour le filtre2 par ligne et par colonne non vide ou non NUL,
a- colonne de reference: E
En selctionnant D2, je visualise toutes les lignes correspondant à D2 dans la col E à partir de la ligne 6 ensuite toutes les col non vides à partir de la col K
b- meme principe pour une autre col de refenrence par ex col H ou I etc

Merci d'avance
Amicalement
KIM
 

Pièces jointes

Re : Cacher colonnes selon choix pour affichage et impression

re Kim,

Bon je t'ai modifier ton fichier pour faire ce que tu souhaites, je l'ai un peu testé, il me semble que ca fonctionne pas trop mal, mais je te laisse le soin de le tester plus en profondeur. Le code se trouve dans le module de la feuille 1.

@+
 

Pièces jointes

Re : Cacher colonnes selon choix pour affichage et impression

Re Porcinet82 et le forum,
Merci, ça fonctionne tres bien.
1- quelque soit la selection, J'ai toujours à l'affichage les col BH à BN, Est-ce volontaire ou qque chose à modifier dans le code?
2- Si dans la case F2 je definis la liste des codes de la col I, que dois-je modifier pour appliquer le filtre sur la col I
3- de meme pour le filtre sur la ligne 5
Je t'en remercie beaucoup, ton aide m'a ete tres utile, je vais travailler ce weekend pour preparer plusieurs filtres cat j'ai une presentation lundi.
 
Re : Cacher colonnes selon choix pour affichage et impression

Bonsoir Kim,

1- Pour ce qui est des colonnes BH à BN, c'est effectivement volontaire, etant donné qu'il s'agissait de colonne total, je me suis dis qu'il vallait mieux les laisser. Si ce n'est pas le cas, modifie les lignes For j = 11 To 59 'Range("IV5").End(xlToLeft).Column par For j = 11 To Range("IV5").End(xlToLeft).Column

2- Si tu modifie selon ce que tu demande, il te faut modifier le code suivant
'**************************************************************************************
'Filtre des lignes selon DIR
If Not Intersect(Target, Range("F2")) Is Nothing Then
...
'**************************************************************************************
par :
Code:
'**************************************************************************************
'Filtre des lignes selon Code X
If Not Intersect(Target, Range("F2")) Is Nothing Then
    If Range("F2").Value = "Code X" Then Cells.EntireRow.Hidden = False: Exit Sub
    For k = 6 To Range("'I65536").End(xlUp).Row
        If Not Cells(k, 9).Value = Range("F2").Value Then
            Rows(k).EntireRow.Hidden = True
        Else
            Rows(k).EntireRow.Hidden = False
            x = x + 1
        End If
    Next k
'Filtre des colonnes si B2=LABOS
    If Not Range("B2").Value = "LABOS" Then
        MsgBox "Veuillez sélectionner LABOS dans la cellules B2", vbExclamation
    Else
        For j = 11 To Range("IV5").End(xlToLeft).Column
            y = 0
            For k = 6 To Range("I65536").End(xlUp).Row
                If Rows(k).EntireRow.Hidden = False Then
                    If IsEmpty(Cells(k, j)) = True Or Cells(k, j).Value = 0 Then
                        y = y + 1
                        If x = y Then Columns(j).EntireColumn.Hidden = True
                    Else
                        If x = y Then Columns(j).EntireColumn.Hidden = False
                    End If
                End If
            Next k
        Next j
    End If
End If
'**************************************************************************************

3- Enfin pour le filtre sur la ligne 5, il faut que tu modifies les lignes de codes suivantes (le E65536 est a adapter suivant la colonne, en effet, ci dessus il s'agit de la colonne I) :
For k = 5 To Range("E65536").End(xlUp).Row
par
For k = 6 To Range("E65536").End(xlUp).Row

@+
 
Re : Cacher colonnes selon choix pour affichage et impression

Bonjour Porcinet82,
C'est genial, je t'en remercie, j'ai testé seulement sur l'exemple.
Je vais essayer de tester avec mon fichier de travail et te tiendrai au courant. Il n'y a pas de raison il faut que ça marche sauf s'il y a des caracteres speciaux dans les mots. A tester le filtre sur la ligne de reference 5.
Aussi je vais essayer d'ajouter un bouton qui affiche toutes les lignes et toutes les colonnes masquées au cas ou il y a blocage qque part.
Merci encore et A+
Amicalement
KIM
 
Re : Cacher colonnes selon choix pour affichage et impression

Re Porcinet82 et le forum,
Dans le meme fichier maquette_21_v2.xls j'ai modifier seulement les données de la feuille projet en remplaçant les données test par les données reelles.
Quelquesoit le filtre exécuté, J'ai le message d'erreur suivant:
"Erreur d'execution 1004
Impossible de definir la propriété Hidden de la Class Range"
sur la ligne:
'Filtre des colonnes selon LABOS
....
For j = 11 To 228 'Range("IV5").End(xlToLeft).Column
If Not Cells(4, j).Value = Range("B2").Value Then
Columns(j).EntireColumn.Hidden = True
.....
avec la valeur de j = 30
et un resultat incorrect.
Mes données, sans les col des totaux se trouvent jusqu'à la col ID (col 228) et 250 lignes. J'ai remplacé dans le code, 59 par 228.
Je n'ai pas reussi de trouver l'erreur.
Merci de votre aide
Amicalement
KIM
 
Re : Cacher colonnes selon choix pour affichage et impression

Salut Kim,

Difficile de t'aider sans le fichier, je ne vois pas trop le soucis etant donné que le code fonctionnait dans le fichier test.
Si tu ne trouves pas ou se situe le soucis, mets ton fichier en pièce jointe ou si les données sont confidentielles (ou qu'il est trop volumineu) tu peux me l'envoyer sur mon mail (l'adresse est dans mon profil).

@+
 
Re : Cacher colonnes selon choix pour affichage et impression

Salut à tous

Comme je n'ai pas le fichier, juste la maquette 2, je ne peux pas vérifier l'erreur en colonne 30
ce qui me gène, c'est que c'est l'erreur typique d'un "hors feuille"
ce qui pourrait ce produire avec J<1 ou J>256

comme j'ai vu que Porcinet82 avait apporté des modifs sur un post, ne serait-il pas envisageable que la retranscryption de la modif ait générée une petite erreur du genre y à la place de j , u

autre possibilité : la feuille est protégée soit en totalité soit en partie et la colonne J => erreur 1004

A+
 
Re : Cacher colonnes selon choix pour affichage et impression

Re, Romain, Gorfael et le forum,
@Romain,
je viens de t'envoyer mon fichier en grandeur reelle, merci d'avance,
@Gorfael,
ma feuille n'est pas protégée, il y a moins de 256 colonnes
Pour le code j'espère que Romain nous donnera l'explication
Amicalement
KIM
 
Re : Cacher colonnes selon choix pour affichage et impression

Bonjour le fil,

N'ayant pas d'acces internet depuis plus d'une semaine, je n'ai pas pu repondre a ton dernier post. J'ai bien vue tout a l'heure que tu m'avais envoyer un mail avec ton fichier, mais par erreur, je l'ai supprimé. Donc si tu n'as pas résolu ton soucis par toi meme, tu peux eventuellement me renvoyer ton fichier, j'essaierai d'y jeter un oeil rapidement.

En attendant de tes news,

@+
 
Re : Cacher colonnes selon choix pour affichage et impression

re,

Je viens de jeter un bref coup d'oeil a ton fichier et effectivement le code merdouille a partir de la colonne 38.
Lorsque j'essais de masquer les colonnes a la main (click droit, masquer la colonne) il me met le message suivant : Impossible de déplacer des objets en dehors de la feuille
Si tu as une idée du pourquoi puisque c'est toi qui a fait le fichier, ou si quelqu'un connait la raisons de ce problème, je suis preneur.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
Réponses
8
Affichages
2 K
Genii
G
G
Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…