Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire apparaitre que certaines colonnes

19 réponses
Avatar
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

10 réponses

1 2
Avatar
Ellimac
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





Avatar
Jacky
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) <> [a1] And Cells(1, C.Column) <> "" Then
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" a écrit dans le message de news:
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



Avatar
Lulu
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" a écrit dans le message 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







Avatar
Ellimac
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" a écrit dans le message 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












Avatar
Lulu
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" a écrit dans le message de
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" a écrit dans le message 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














Avatar
Ellimac
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" a écrit dans le message de
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" a écrit dans le message 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



















Avatar
Lulu
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" a écrit dans le message de news:
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) <> [a1] And Cells(1, C.Column) <> "" Then
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" a écrit dans le message de news:
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







Avatar
Lulu
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" a écrit dans le message de
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" a écrit dans le message de
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" a écrit dans le message
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





















Avatar
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" a écrit dans le message de news:
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



Avatar
Lulu
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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







1 2