Faire apparaitre que certaines colonnes

Le
Lulu
Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ellimac
Le #5343731
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc





Jacky
Le #5343721
Bonsoir,
exemple ne voir les colonnes que du fournisseur2
'------------

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, [a1]) Is Nothing And Target.Count = 1 Then
With Worksheets("Feuil1")
DerCol = .Cells.Find(What:="*", LookIn:=xlFormulas,
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Set Tableau = .Range(Cells(1, 2), .Cells(1, DerCol))
End With
Tableau.EntireColumn.Hidden = False
If [a1] = "Tous" Then Exit Sub
For Each C In Tableau
If Cells(1, C.Column) Columns(C.Column).EntireColumn.Hidden = True
End If
Next
End If
End Sub
'---------------
Exemple ici (selon ton fichier)
http://cjoint.com/?mBsdc3NpRK

--
Salutations
JJ


"Lulu" 4773affb$0$906$
Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc



Lulu
Le #5343231
Merci Camille de ta réponse,

Je ne connnais rien en macro, j'ai testé la macro en faisant un
copier/coller dans l'exemple ca marche,
par contre si le fait dans un autre exemple,
il y a l'erreur '1004' impossible de définir la propriété ColumnWidth de la
classe range'.

Comment tu as créé la macro ? est ce que je peux avoir quelques explications
sur la syntaxe ?

Merci d'avance
Luc

"Ellimac" news:
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc







Ellimac
Le #5343181
Bonjour Lulu,

Je me suis appuyé sur ton exemple et donc je commence par compter le nombre
de colonnes à partir de A2.
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count

Il faudrait repérer où cela plante. Ce qui me vient à l'esprit c'est que
c'est vide après A2 et donc il va jusqu'en IV (derbière colonne). Donc il y a
plantage avec :
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0

Cells(1, cpt + 1) = cellule IW1 ce qui est impossible

Camille


Merci Camille de ta réponse,

Je ne connnais rien en macro, j'ai testé la macro en faisant un
copier/coller dans l'exemple ca marche,
par contre si le fait dans un autre exemple,
il y a l'erreur '1004' impossible de définir la propriété ColumnWidth de la
classe range'.

Comment tu as créé la macro ? est ce que je peux avoir quelques explications
sur la syntaxe ?

Merci d'avance
Luc

"Ellimac" news:
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc












Lulu
Le #5343061
Camille,
Là je cale, j'ai recopié la macro, j'ai rempli les blancs, il me cache tout
!!
Je ne sens pas capable d'écrire la macro mais est ce qu'on peut le faire
avec l'enregistreur ?

Je te joins le fichier :

http://www.cijoint.fr/cij52785967036155.xls

Merci
Luc

"Ellimac" news:
Bonjour Lulu,

Je me suis appuyé sur ton exemple et donc je commence par compter le
nombre
de colonnes à partir de A2.
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count

Il faudrait repérer où cela plante. Ce qui me vient à l'esprit c'est que
c'est vide après A2 et donc il va jusqu'en IV (derbière colonne). Donc il
y a
plantage avec :
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0

Cells(1, cpt + 1) = cellule IW1 ce qui est impossible

Camille


Merci Camille de ta réponse,

Je ne connnais rien en macro, j'ai testé la macro en faisant un
copier/coller dans l'exemple ca marche,
par contre si le fait dans un autre exemple,
il y a l'erreur '1004' impossible de définir la propriété ColumnWidth de
la
classe range'.

Comment tu as créé la macro ? est ce que je peux avoir quelques
explications
sur la syntaxe ?

Merci d'avance
Luc

"Ellimac" news:
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc














Ellimac
Le #5343041
Re,

Comme ton tableau démarre ligne 2 :

Sub Exemple28()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(2, cpt + 1) <> rep Then Cells(2, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Camille,
Là je cale, j'ai recopié la macro, j'ai rempli les blancs, il me cache tout
!!
Je ne sens pas capable d'écrire la macro mais est ce qu'on peut le faire
avec l'enregistreur ?

Je te joins le fichier :

http://www.cijoint.fr/cij52785967036155.xls

Merci
Luc

"Ellimac" news:
Bonjour Lulu,

Je me suis appuyé sur ton exemple et donc je commence par compter le
nombre
de colonnes à partir de A2.
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count

Il faudrait repérer où cela plante. Ce qui me vient à l'esprit c'est que
c'est vide après A2 et donc il va jusqu'en IV (derbière colonne). Donc il
y a
plantage avec :
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0

Cells(1, cpt + 1) = cellule IW1 ce qui est impossible

Camille


Merci Camille de ta réponse,

Je ne connnais rien en macro, j'ai testé la macro en faisant un
copier/coller dans l'exemple ca marche,
par contre si le fait dans un autre exemple,
il y a l'erreur '1004' impossible de définir la propriété ColumnWidth de
la
classe range'.

Comment tu as créé la macro ? est ce que je peux avoir quelques
explications
sur la syntaxe ?

Merci d'avance
Luc

"Ellimac" news:
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc



















Lulu
Le #5343021
JJ merci de ta réponse, je viens de voir le fichier joint. Impeccable !!

Comment je peux créer la macro dans un fichier similaire et plus important ?

Luc


"Jacky" eS$
Bonsoir,
exemple ne voir les colonnes que du fournisseur2
'------------

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, [a1]) Is Nothing And Target.Count = 1 Then
With Worksheets("Feuil1")
DerCol = .Cells.Find(What:="*", LookIn:=xlFormulas,
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Set Tableau = .Range(Cells(1, 2), .Cells(1, DerCol))
End With
Tableau.EntireColumn.Hidden = False
If [a1] = "Tous" Then Exit Sub
For Each C In Tableau
If Cells(1, C.Column) Columns(C.Column).EntireColumn.Hidden = True
End If
Next
End If
End Sub
'---------------
Exemple ici (selon ton fichier)
http://cjoint.com/?mBsdc3NpRK

--
Salutations
JJ


"Lulu" 4773affb$0$906$
Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc







Lulu
Le #5343011
Ok Camille, ca marche,
Effectivement, j'ai corrigé pour la ligne 2,
et apparemment dans un autre fichier, je ne commencai pas à la 1ere colonne,
je suppose qu'à la place a2 il faut mettre j2 ou la colonne ou commence le
masquage.

Merci encore
Luc

"Ellimac" news:
Re,

Comme ton tableau démarre ligne 2 :

Sub Exemple28()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(2, cpt + 1) <> rep Then Cells(2, cpt + 1).ColumnWidth = 0
Next
End Sub

Camille


Camille,
Là je cale, j'ai recopié la macro, j'ai rempli les blancs, il me cache
tout
!!
Je ne sens pas capable d'écrire la macro mais est ce qu'on peut le faire
avec l'enregistreur ?

Je te joins le fichier :

http://www.cijoint.fr/cij52785967036155.xls

Merci
Luc

"Ellimac" news:
Bonjour Lulu,

Je me suis appuyé sur ton exemple et donc je commence par compter le
nombre
de colonnes à partir de A2.
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count

Il faudrait repérer où cela plante. Ce qui me vient à l'esprit c'est
que
c'est vide après A2 et donc il va jusqu'en IV (derbière colonne). Donc
il
y a
plantage avec :
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth = 0

Cells(1, cpt + 1) = cellule IW1 ce qui est impossible

Camille


Merci Camille de ta réponse,

Je ne connnais rien en macro, j'ai testé la macro en faisant un
copier/coller dans l'exemple ca marche,
par contre si le fait dans un autre exemple,
il y a l'erreur '1004' impossible de définir la propriété ColumnWidth
de
la
classe range'.

Comment tu as créé la macro ? est ce que je peux avoir quelques
explications
sur la syntaxe ?

Merci d'avance
Luc

"Ellimac" de
news:
Bonjour,

Avec une macro :

Sub Toto()
n = Range(Range("a2"), Range("a2").End(xlToRight)).Cells.Count
rep = InputBox("Nom du fournisseur à afficher")
For cpt = 1 To n
If Cells(1, cpt + 1) <> rep Then Cells(1, cpt + 1).ColumnWidth =
0
Next
End Sub

Camille


Bonjour,

Je sais masquer des lignes avec la commande filtre,
mais comment masquer des colonnes ou ne voir que certaines colonnes
suivant
tel critère:
exemple ne voir les colonnes que du fournisseur2

ci-joint exemple :
http://www.cijoint.fr/cij107919648836012.xls

Merci d'avance

Luc





















Jacky
Le #5343001
Re...
Comment je peux créer la macro dans un fichier similaire et plus important
?


Selection de la feuille en question dans ton fichier (feuil1 dans
l'exemple), puis Alt+F11 et coller le code dans la fenêtre de droite.
La cellule A1 contient une liste de validation. Voir le menu
données/validation
Voir aussi la feuille "ListeFournisseurs" (au besoin elle doit être crée)
qui contient cette liste, et le menu insertion/nom/définir

--
Salutations
JJ


"Lulu" 4775296a$0$876$
JJ merci de ta réponse, je viens de voir le fichier joint. Impeccable !!

Comment je peux créer la macro dans un fichier similaire et plus important
?

Luc



Lulu
Le #5342911
Dans me menu données/validation, je ne vois pas où se trouve "=Fournisseurs"

et que faire dans insertion/nom/définir?

Désolé JJ, mais un peu dur de la feuille

Merci
Luc


"Jacky"
Re...
Comment je peux créer la macro dans un fichier similaire et plus
important ?


Selection de la feuille en question dans ton fichier (feuil1 dans
l'exemple), puis Alt+F11 et coller le code dans la fenêtre de droite.
La cellule A1 contient une liste de validation. Voir le menu
données/validation
Voir aussi la feuille "ListeFournisseurs" (au besoin elle doit être crée)
qui contient cette liste, et le menu insertion/nom/définir

--
Salutations
JJ


"Lulu" 4775296a$0$876$
JJ merci de ta réponse, je viens de voir le fichier joint. Impeccable !!

Comment je peux créer la macro dans un fichier similaire et plus
important ?

Luc







Publicité
Poster une réponse
Anonyme