Bonjour à toutes les bonnes ames disponibles...
j'ai 2 feuilles
sur la premiere liste de produits et une liste deroulante oui non pour
definir la visibilité de cette liste dans la page 2
oui ligne visible non ligne invisible
et comme sur la page 3 4 et 5 ce sont 5 colonnes (de colonne E à J pour
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre
disparaitre ... je suis pas sorti de l'auberge sans de l'aide... de mes
génies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438 lorsque je
l'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True Else
Feuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Bonjour à toutes les bonnes ames disponibles...
j'ai 2 feuilles
sur la premiere liste de produits et une liste deroulante oui non pour
definir la visibilité de cette liste dans la page 2
oui ligne visible non ligne invisible
et comme sur la page 3 4 et 5 ce sont 5 colonnes (de colonne E à J pour
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre
disparaitre ... je suis pas sorti de l'auberge sans de l'aide... de mes
génies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438 lorsque je
l'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True Else
Feuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Bonjour à toutes les bonnes ames disponibles...
j'ai 2 feuilles
sur la premiere liste de produits et une liste deroulante oui non pour
definir la visibilité de cette liste dans la page 2
oui ligne visible non ligne invisible
et comme sur la page 3 4 et 5 ce sont 5 colonnes (de colonne E à J pour
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre
disparaitre ... je suis pas sorti de l'auberge sans de l'aide... de mes
génies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438 lorsque je
l'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True Else
Feuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Bonjour Lionel,
Voici un petit exemple utilisant le filtre automatique
c'est plus efficient et rapide ....
Tu adaptes la macro pour chacune des feuilles.
Pour l'exemple suivant, j'ai supposé qu'en Colonne A:A
tu avais "oui" ou "non" comme donnée dans chacune
les cellules de cette colonne. En A1 étant l'étiquette de la
colonne. Le nom de l'onglet de la feuille est : Feuil1
Il y a 2 boucles, une sur le "oui" et une sur le "non"
afin de s'assure que seule les lignes dont la valeur en
Colonne A:A affiche OUI soient visibles.
Si tu as des lignes vides... elles ne seront pas touchées par la macro.
'--------------------------------
Sub test1()
Dim Rg As Range
Dim Arr(), Elt As Variant
Arr = Array("oui", "non")
For Each Elt In Arr
With Feuil1
With .Range("A:A")
If Elt = "oui" Then
.AutoFilter field:=1, Criteria1:="oui"
Else
.AutoFilter field:=1, Criteria1:="non"
End If
Set Rg = .Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
.AutoFilter
If Elt = "oui" Then
Rg.EntireRow.Hidden = False
Else
Rg.EntireRow.Hidden = True
End If
End With
End With
Next
End Sub
'--------------------------------
Bonjour Lionel,
Voici un petit exemple utilisant le filtre automatique
c'est plus efficient et rapide ....
Tu adaptes la macro pour chacune des feuilles.
Pour l'exemple suivant, j'ai supposé qu'en Colonne A:A
tu avais "oui" ou "non" comme donnée dans chacune
les cellules de cette colonne. En A1 étant l'étiquette de la
colonne. Le nom de l'onglet de la feuille est : Feuil1
Il y a 2 boucles, une sur le "oui" et une sur le "non"
afin de s'assure que seule les lignes dont la valeur en
Colonne A:A affiche OUI soient visibles.
Si tu as des lignes vides... elles ne seront pas touchées par la macro.
'--------------------------------
Sub test1()
Dim Rg As Range
Dim Arr(), Elt As Variant
Arr = Array("oui", "non")
For Each Elt In Arr
With Feuil1
With .Range("A:A")
If Elt = "oui" Then
.AutoFilter field:=1, Criteria1:="oui"
Else
.AutoFilter field:=1, Criteria1:="non"
End If
Set Rg = .Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
.AutoFilter
If Elt = "oui" Then
Rg.EntireRow.Hidden = False
Else
Rg.EntireRow.Hidden = True
End If
End With
End With
Next
End Sub
'--------------------------------
Bonjour Lionel,
Voici un petit exemple utilisant le filtre automatique
c'est plus efficient et rapide ....
Tu adaptes la macro pour chacune des feuilles.
Pour l'exemple suivant, j'ai supposé qu'en Colonne A:A
tu avais "oui" ou "non" comme donnée dans chacune
les cellules de cette colonne. En A1 étant l'étiquette de la
colonne. Le nom de l'onglet de la feuille est : Feuil1
Il y a 2 boucles, une sur le "oui" et une sur le "non"
afin de s'assure que seule les lignes dont la valeur en
Colonne A:A affiche OUI soient visibles.
Si tu as des lignes vides... elles ne seront pas touchées par la macro.
'--------------------------------
Sub test1()
Dim Rg As Range
Dim Arr(), Elt As Variant
Arr = Array("oui", "non")
For Each Elt In Arr
With Feuil1
With .Range("A:A")
If Elt = "oui" Then
.AutoFilter field:=1, Criteria1:="oui"
Else
.AutoFilter field:=1, Criteria1:="non"
End If
Set Rg = .Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
.AutoFilter
If Elt = "oui" Then
Rg.EntireRow.Hidden = False
Else
Rg.EntireRow.Hidden = True
End If
End With
End With
Next
End Sub
'--------------------------------