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

Lignes visibles d'apres liste deroulante

22 réponses
Avatar
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 le
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre ou
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

10 réponses

1 2 3
Avatar
Corona
Bonjour Lionel,
For i = 2 To 196
If Range("a" & i) = "Oui" Then Rows(i).EntireRow.Hidden = True
Next i
Philippe Tulliez

Lionel a écrit :
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 le
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre ou
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




Avatar
Corona
Lionel,
J'avais mal lu la question
For i = 2 To 196
If Range("a" & i) = "Oui" Then
Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
Next i
Philippe
Lionel a écrit :
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 le
premier de J à O pour le deuxieme ...) par produit qui doivent apparaitre ou
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




Avatar
Lionel
re - Bonjour

D'abord MERCI de prendre du temps
Cela va sans dire mais c'est mieux en le disant

j'obtiens un message d'erreur de syntaxe ! ??
J'ai pourtant juste redonné le vrai nom des feuilles...

For i = 2 To 196
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i

Par ailleurs comment ajouter avec la meme condition fans la feuille3 pour
i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si "oui"
i=3 que les colonnes KàP soient invisibles si "non " et visibles si "oui"
j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui pour
chaque lignes donne la premiere et la derniere colonne à masquer ou afficher
suivant le choix oui ou non

Ex

ligne 2
colonne A choix oui ou non
colonne B Nom Produit
Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)

Tout ce que j'ai essayé foire....

Sheet("feuil3").Columns(range("Liste Produits").range("c"& i): range("Liste
Produits").range("d"& i)) .hidden=true

ca ne fonctionne pas...
si vous avez une idée ... je suis preneur


"Corona" a écrit dans le message de
news:
Lionel,
J'avais mal lu la question
For i = 2 To 196
If Range("a" & i) = "Oui" Then
Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
Next i
Philippe
Lionel a écrit :
> 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


le
> premier de J à O pour le deuxieme ...) par produit qui doivent


apparaitre ou
> 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
>
>


Avatar
Corona
Lionel,
Pour le message d'erreur, c'est curieux.
Je viens de renommer les feuilles avec les mêmes noms et n'ai eu
aucun soucis.
Pour les colonnes je regarderai tout à l'heure sauf si d'ici là un
autre contributeur t'apporte la solution.
Si tu as l'occasion et si ce n'est pas confidentiel place ton
classeur sur cijoint.
Dim I As Integer
For I = 2 To 196
If Sheets("Liste Produits").Range("a" & I) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = False
Else
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = True
End If
Next I
Philippe

Lionel a écrit :
re - Bonjour

D'abord MERCI de prendre du temps
Cela va sans dire mais c'est mieux en le disant

j'obtiens un message d'erreur de syntaxe ! ??
J'ai pourtant juste redonné le vrai nom des feuilles...

For i = 2 To 196
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i

Par ailleurs comment ajouter avec la meme condition fans la feuille3 pour
i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si "oui"
i=3 que les colonnes KàP soient invisibles si "non " et visibles si "oui"
j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui pour
chaque lignes donne la premiere et la derniere colonne à masquer ou afficher
suivant le choix oui ou non

Ex

ligne 2
colonne A choix oui ou non
colonne B Nom Produit
Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)

Tout ce que j'ai essayé foire....

Sheet("feuil3").Columns(range("Liste Produits").range("c"& i): range("Liste
Produits").range("d"& i)) .hidden=true

ca ne fonctionne pas...
si vous avez une idée ... je suis preneur


"Corona" a écrit dans le message de
news:
Lionel,
J'avais mal lu la question
For i = 2 To 196
If Range("a" & i) = "Oui" Then
Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
Next i
Philippe
Lionel a écrit :
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




le
premier de J à O pour le deuxieme ...) par produit qui doivent




apparaitre ou
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










Avatar
Jacky
Bonsoir,
Pour l'erreur de syntaxe==>il faut un retour de ligne avant et après "Else"

Si j'ai bien compris....
Essaie ceci
'-----------------
Sub jj()
For i = 2 To 196
Sheets("Feuille de comptage stock").Rows(i).Hidden UCase(Sheets("Liste Produits").Range("a" & i)) = "OUI"
Next
Sheets("Feuil3").Columns("E:J").Hidden = UCase(Sheets("Liste
Produits").Range("a" & 2)) = "NON"
Sheets("Feuil3").Columns("K:P").Hidden = UCase(Sheets("Liste
Produits").Range("a" & 3)) = "NON"
End Sub
'------------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij47JHGRJ.xls
--
Salutations
JJ


"Lionel" a écrit dans le message de news:
4b23a74e$0$895$
re - Bonjour

D'abord MERCI de prendre du temps
Cela va sans dire mais c'est mieux en le disant

j'obtiens un message d'erreur de syntaxe ! ??
J'ai pourtant juste redonné le vrai nom des feuilles...

For i = 2 To 196
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i

Par ailleurs comment ajouter avec la meme condition fans la feuille3 pour
i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si
"oui"
i=3 que les colonnes KàP soient invisibles si "non " et visibles si "oui"
j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui
pour
chaque lignes donne la premiere et la derniere colonne à masquer ou
afficher
suivant le choix oui ou non

Ex

ligne 2
colonne A choix oui ou non
colonne B Nom Produit
Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)

Tout ce que j'ai essayé foire....

Sheet("feuil3").Columns(range("Liste Produits").range("c"& i):
range("Liste
Produits").range("d"& i)) .hidden=true

ca ne fonctionne pas...
si vous avez une idée ... je suis preneur


"Corona" a écrit dans le message de
news:
Lionel,
J'avais mal lu la question
For i = 2 To 196
If Range("a" & i) = "Oui" Then
Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
Next i
Philippe
Lionel a écrit :
> 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


le
> premier de J à O pour le deuxieme ...) par produit qui doivent


apparaitre ou
> 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
>
>






Avatar
Lionel
voici son lien
J'ai supprimé des pages pour le poids du fichier
et il est totalement terminé ....
http://www.cijoint.fr/cjlink.php?file=cj200912/cij27IVZag.xls

Merci
Lionel

"Corona" a écrit dans le message de
news:%
Lionel,
Pour le message d'erreur, c'est curieux.
Je viens de renommer les feuilles avec les mêmes noms et n'ai eu
aucun soucis.
Pour les colonnes je regarderai tout à l'heure sauf si d'ici là un
autre contributeur t'apporte la solution.
Si tu as l'occasion et si ce n'est pas confidentiel place ton
classeur sur cijoint.
Dim I As Integer
For I = 2 To 196
If Sheets("Liste Produits").Range("a" & I) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = False
Else
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = True
End If
Next I
Philippe

Lionel a écrit :
> re - Bonjour
>
> D'abord MERCI de prendre du temps
> Cela va sans dire mais c'est mieux en le disant
>
> j'obtiens un message d'erreur de syntaxe ! ??
> J'ai pourtant juste redonné le vrai nom des feuilles...
>
> For i = 2 To 196
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False


Else
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
> Next i
>
> Par ailleurs comment ajouter avec la meme condition fans la feuille3


pour
> i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si


"oui"
> i=3 que les colonnes KàP soient invisibles si "non " et visibles si


"oui"
> j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui


pour
> chaque lignes donne la premiere et la derniere colonne à masquer ou


afficher
> suivant le choix oui ou non
>
> Ex
>
> ligne 2
> colonne A choix oui ou non
> colonne B Nom Produit
> Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
> Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)
>
> Tout ce que j'ai essayé foire....
>
> Sheet("feuil3").Columns(range("Liste Produits").range("c"& i):


range("Liste
> Produits").range("d"& i)) .hidden=true
>
> ca ne fonctionne pas...
> si vous avez une idée ... je suis preneur
>
>
> "Corona" a écrit dans le message de
> news:
>> Lionel,
>> J'avais mal lu la question
>> For i = 2 To 196
>> If Range("a" & i) = "Oui" Then
>> Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
>> Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
>> Next i
>> Philippe
>> Lionel a écrit :
>>> 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
> le
>>> premier de J à O pour le deuxieme ...) par produit qui doivent
> apparaitre ou
>>> 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
>>>
>>>
>
>


Avatar
michdenis
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
'--------------------------------
Avatar
Lionel
OK je vois mais le probleme n'est resolu que partiellement
car j'ai 42 produits par feuille desquels dependent 5 colonnes
EJ KP.... jusqu'a IR IV dans chaque feuilles c'est pour cela que dans liste
produit j'ai inclus 2 colonnes (la premiere et la derniere pour chaque
ligne) qui doivent apparaitre ou disparaitre...

"Jacky" a écrit dans le message de
news:%
Bonsoir,
Pour l'erreur de syntaxe==>il faut un retour de ligne avant et après


"Else"

Si j'ai bien compris....
Essaie ceci
'-----------------
Sub jj()
For i = 2 To 196
Sheets("Feuille de comptage stock").Rows(i).Hidden > UCase(Sheets("Liste Produits").Range("a" & i)) = "OUI"
Next
Sheets("Feuil3").Columns("E:J").Hidden = UCase(Sheets("Liste
Produits").Range("a" & 2)) = "NON"
Sheets("Feuil3").Columns("K:P").Hidden = UCase(Sheets("Liste
Produits").Range("a" & 3)) = "NON"
End Sub
'------------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij47JHGRJ.xls
--
Salutations
JJ


"Lionel" a écrit dans le message de news:
4b23a74e$0$895$
> re - Bonjour
>
> D'abord MERCI de prendre du temps
> Cela va sans dire mais c'est mieux en le disant
>
> j'obtiens un message d'erreur de syntaxe ! ??
> J'ai pourtant juste redonné le vrai nom des feuilles...
>
> For i = 2 To 196
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False


Else
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
> Next i
>
> Par ailleurs comment ajouter avec la meme condition fans la feuille3


pour
> i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si
> "oui"
> i=3 que les colonnes KàP soient invisibles si "non " et visibles si


"oui"
> j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui
> pour
> chaque lignes donne la premiere et la derniere colonne à masquer ou
> afficher
> suivant le choix oui ou non
>
> Ex
>
> ligne 2
> colonne A choix oui ou non
> colonne B Nom Produit
> Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
> Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)
>
> Tout ce que j'ai essayé foire....
>
> Sheet("feuil3").Columns(range("Liste Produits").range("c"& i):
> range("Liste
> Produits").range("d"& i)) .hidden=true
>
> ca ne fonctionne pas...
> si vous avez une idée ... je suis preneur
>
>
> "Corona" a écrit dans le message de
> news:
>> Lionel,
>> J'avais mal lu la question
>> For i = 2 To 196
>> If Range("a" & i) = "Oui" Then
>> Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
>> Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
>> Next i
>> Philippe
>> Lionel a écrit :
>> > 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
> le
>> > premier de J à O pour le deuxieme ...) par produit qui doivent
> apparaitre ou
>> > 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
>> >
>> >
>
>






Avatar
Lionel
Je ne comprends pas trop ce que ca fait de plus par rapport au precedent si
ce n'est que c'est plus complexe dans l'ecriture ...mais cela ne resoud pas
mon probleme d'affichage de colonne dans les autres feuilles...
"michdenis" a écrit dans le message de
news:
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
'--------------------------------








Avatar
Corona
Bonsoir Lionel,
J'ai constaté effectivement un problème lorsque j'ai cliqué sur le
bouton 'Mise à jour' de la feuille "Liste produit" mais comme le code
source est protégé par un mot de passe, je n'ai pas put en connaître la
raison.
Ton problème vient vraisemblablement d'une macro où il y a par
exemple une erreur de syntaxe (Un return ou un end if qui manquerait)
Aussi, j'ai copié toutes les feuilles du classeur sur un nouveau
classeur afin de travailler sur un classeur épuré des codes VBA existant
et là je n'ai pas de problème avec le code que je t'ai envoyé, les
lignes de la feuille "Feuille de comptage stock" sont bien masquées si
elle répondent aux conditions.
J'ai constaté aussi un phénomène curieux dans la validation de
données de la colonne 'A' de la feuille "Liste produit". Le choix est
Oui chaque fois. J'ai donc vérifié la propriété 'source' de la
validation qui renvoie à 2 lignes de la même colonne ( '=$A$224:$A$225'
j'avoue ne pas bien comprendre) mais bon pour mon test j'ai modifié ces
paramètres afin de pouvoir sélectionner 'Oui' ou 'Non'
Pour ton problème de masquage de colonnes en fonction de la boucle i
je ne comprends pas très bien ce que tu veux sachant que i dans cette
boucle balaie des lignes
Voici le lien où j'ai placé le fichier
http://www.cijoint.fr/cjlink.php?file=cj200912/cijiqs1jB2.xls
Philippe

Lionel a écrit :
voici son lien
J'ai supprimé des pages pour le poids du fichier
et il est totalement terminé ....
http://www.cijoint.fr/cjlink.php?file=cj200912/cij27IVZag.xls

Merci
Lionel

"Corona" a écrit dans le message de
news:%
Lionel,
Pour le message d'erreur, c'est curieux.
Je viens de renommer les feuilles avec les mêmes noms et n'ai eu
aucun soucis.
Pour les colonnes je regarderai tout à l'heure sauf si d'ici là un
autre contributeur t'apporte la solution.
Si tu as l'occasion et si ce n'est pas confidentiel place ton
classeur sur cijoint.
Dim I As Integer
For I = 2 To 196
If Sheets("Liste Produits").Range("a" & I) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = False
Else
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden = True
End If
Next I
Philippe

Lionel a écrit :
re - Bonjour

D'abord MERCI de prendre du temps
Cela va sans dire mais c'est mieux en le disant

j'obtiens un message d'erreur de syntaxe ! ??
J'ai pourtant juste redonné le vrai nom des feuilles...

For i = 2 To 196
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False




Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i

Par ailleurs comment ajouter avec la meme condition fans la feuille3




pour
i = 2 que les colonnes EàJ soient invisibles si "non" et visibles si




"oui"
i=3 que les colonnes KàP soient invisibles si "non " et visibles si




"oui"
j'ai essayé de rajouter dans la feuille "liste produits" 2 colonnes qui




pour
chaque lignes donne la premiere et la derniere colonne à masquer ou




afficher
suivant le choix oui ou non

Ex

ligne 2
colonne A choix oui ou non
colonne B Nom Produit
Colonne C 1ère colonne à masquer/afficher (E pour la ligne 2)
Colonne D derniere colonnne à masquer/afficher(J pour la ligne 2)

Tout ce que j'ai essayé foire....

Sheet("feuil3").Columns(range("Liste Produits").range("c"& i):




range("Liste
Produits").range("d"& i)) .hidden=true

ca ne fonctionne pas...
si vous avez une idée ... je suis preneur


"Corona" a écrit dans le message de
news:
Lionel,
J'avais mal lu la question
For i = 2 To 196
If Range("a" & i) = "Oui" Then
Sheets("Feuil2").Rows(i).EntireRow.Hidden = True Else
Sheets("Feuil2").Rows(i).EntireRow.Hidden = False
Next i
Philippe
Lionel a écrit :
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
le
premier de J à O pour le deuxieme ...) par produit qui doivent




apparaitre ou
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















1 2 3