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
> 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
>>>>> 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
>>>>> 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
>>>>>
>>>>>
>>>
>
>
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
> news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
>> 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
> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>> news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
>>>> 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
>>>>> 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
>>>>> 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
>>>>>
>>>>>
>>>
>
>
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
> 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
>>>>> 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
>>>>> 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
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
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
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
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i
Par ailleurs comment ajouter avec la meme condition fans la feuille3
pouri = 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
quipourchaque lignes donne la premiere et la derniere colonne à masquer ou
affichersuivant 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("ListeProduits").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
pourdefinir 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
pourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide... de
mesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438 lorsque
jel'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
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
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
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i
Par ailleurs comment ajouter avec la meme condition fans la feuille3
pouri = 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
quipourchaque lignes donne la premiere et la derniere colonne à masquer ou
affichersuivant 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("ListeProduits").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
pourdefinir 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
pourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide... de
mesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438 lorsque
jel'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,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
> Ok Philippe,
> là ca fonctionne
> En ce qui concerne mon probleme de colonne
> l'enonce est simple et un simple exemple va te faire comprendre
> dans le fichier que j'ai mis sur cijoint:
> la premiere ligne "pain au chocolat" de la feuille "liste produit"
> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> avec ton code ca fonctionne
> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
> Surgeles soient masquées...
> et ce pour tous les produits sinon ca serait pas rigolo...
> Lionel
>
> "Corona" a écrit dans le message de
> news:
>> 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
>> 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
>>> "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 à
>>> 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...
>>> mes
>>>>>>> génies preferes....
>>>>>>> voila ca que j'avais essayé mais j'ai un message erreur 438
> 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,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
> Ok Philippe,
> là ca fonctionne
> En ce qui concerne mon probleme de colonne
> l'enonce est simple et un simple exemple va te faire comprendre
> dans le fichier que j'ai mis sur cijoint:
> la premiere ligne "pain au chocolat" de la feuille "liste produit"
> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> avec ton code ca fonctionne
> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
> Surgeles soient masquées...
> et ce pour tous les produits sinon ca serait pas rigolo...
> Lionel
>
> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
> news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
>> 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
>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>> news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
>>>> 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
>>> "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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>> news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
>>>>>> 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 à
>>> 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...
>>> mes
>>>>>>> génies preferes....
>>>>>>> voila ca que j'avais essayé mais j'ai un message erreur 438
> 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,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
> Ok Philippe,
> là ca fonctionne
> En ce qui concerne mon probleme de colonne
> l'enonce est simple et un simple exemple va te faire comprendre
> dans le fichier que j'ai mis sur cijoint:
> la premiere ligne "pain au chocolat" de la feuille "liste produit"
> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> avec ton code ca fonctionne
> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
> Surgeles soient masquées...
> et ce pour tous les produits sinon ca serait pas rigolo...
> Lionel
>
> "Corona" a écrit dans le message de
> news:
>> 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
>> 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
>>> "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 à
>>> 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...
>>> mes
>>>>>>> génies preferes....
>>>>>>> voila ca que j'avais essayé mais j'ai un message erreur 438
> 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
>>>>>>>
>>>>>>>
>>>
>
>
Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque produit...
il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
existantet 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i
Par ailleurs comment ajouter avec la meme condition fans la feuille3
pouri = 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
quipourchaque lignes donne la premiere et la derniere colonne à masquer ou
affichersuivant 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("ListeProduits").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
pourdefinir 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 à
Jpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide...
demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'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
Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque produit...
il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
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
Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque produit...
il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
existantet 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Next i
Par ailleurs comment ajouter avec la meme condition fans la feuille3
pouri = 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
quipourchaque lignes donne la premiere et la derniere colonne à masquer ou
affichersuivant 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("ListeProduits").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
pourdefinir 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 à
Jpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide...
demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'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
Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :
> Salut en ce dimanche morose
> Le fichier envoyé ne fait rien ! pas de macro rien!!
> en ce qui concerne le nombre de produits, je sais, 42 par feuille
> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
> premiere et la derniere colonne a masquer ou afficher pour chaque
> il faut faire autant de boucles que de pages de 42 produits...
> je ne sais pas comment appeler ces colonnes avec la fonction
> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
> produits").range("g"&i).value)).entirehidden=true
> peut etre?
>
> Lionel
>
>
>
>
> "Corona" a écrit dans le message de
> news:
>> Bonjour Lionel,
>> Le fichier avec exemple de ligne + colonne masquée ici
>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>> Philippe
>>
>> Lionel a écrit :
>>> Ok Philippe,
>>> là ca fonctionne
>>> En ce qui concerne mon probleme de colonne
>>> l'enonce est simple et un simple exemple va te faire comprendre
>>> dans le fichier que j'ai mis sur cijoint:
>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> stock
>>> avec ton code ca fonctionne
>>> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
>>> Surgeles soient masquées...
>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>> Lionel
>>>
>>> "Corona" a écrit dans le message de
>>> news:
>>>> 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
>>>> 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
>>>> 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 (
>>>> j'avoue ne pas bien comprendre) mais bon pour mon test j'ai modifié
>>>> paramètres afin de pouvoir sélectionner 'Oui' ou 'Non'
>>>> Pour ton problème de masquage de colonnes en fonction de la boucle
>>>> 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à
>>>>>> 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
>>>>> 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
>>>>> "oui"
>>>>>>> j'ai essayé de rajouter dans la feuille "liste produits" 2
>>> qui
>>>>> pour
>>>>>>> chaque lignes donne la premiere et la derniere colonne à masquer
>>>>> 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
>>> 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
>>>>>>>>> Feuil2!Rows(i).Visible = False
>>>>>>>>> next i
>>>>>>>>>
>>>>>>>>> Merci de votre aide
>>>>>>>>> Lionel
>>>>>>>>>
>>>>>>>>>
>>>
>
>
Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :
> Salut en ce dimanche morose
> Le fichier envoyé ne fait rien ! pas de macro rien!!
> en ce qui concerne le nombre de produits, je sais, 42 par feuille
> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
> premiere et la derniere colonne a masquer ou afficher pour chaque
> il faut faire autant de boucles que de pages de 42 produits...
> je ne sais pas comment appeler ces colonnes avec la fonction
> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
> produits").range("g"&i).value)).entirehidden=true
> peut etre?
>
> Lionel
>
>
>
>
> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
> news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
>> Bonjour Lionel,
>> Le fichier avec exemple de ligne + colonne masquée ici
>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>> Philippe
>>
>> Lionel a écrit :
>>> Ok Philippe,
>>> là ca fonctionne
>>> En ce qui concerne mon probleme de colonne
>>> l'enonce est simple et un simple exemple va te faire comprendre
>>> dans le fichier que j'ai mis sur cijoint:
>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> stock
>>> avec ton code ca fonctionne
>>> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
>>> Surgeles soient masquées...
>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>> Lionel
>>>
>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>> news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
>>>> 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
>>>> 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
>>>> 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 (
>>>> j'avoue ne pas bien comprendre) mais bon pour mon test j'ai modifié
>>>> paramètres afin de pouvoir sélectionner 'Oui' ou 'Non'
>>>> Pour ton problème de masquage de colonnes en fonction de la boucle
>>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>> news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
>>>>>> 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à
>>>>>> 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
>>>>> 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
>>>>> "oui"
>>>>>>> j'ai essayé de rajouter dans la feuille "liste produits" 2
>>> qui
>>>>> pour
>>>>>>> chaque lignes donne la premiere et la derniere colonne à masquer
>>>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>> news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
>>>>>>>> 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
>>> 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
>>>>>>>>> Feuil2!Rows(i).Visible = False
>>>>>>>>> next i
>>>>>>>>>
>>>>>>>>> Merci de votre aide
>>>>>>>>> Lionel
>>>>>>>>>
>>>>>>>>>
>>>
>
>
Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :
> Salut en ce dimanche morose
> Le fichier envoyé ne fait rien ! pas de macro rien!!
> en ce qui concerne le nombre de produits, je sais, 42 par feuille
> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
> premiere et la derniere colonne a masquer ou afficher pour chaque
> il faut faire autant de boucles que de pages de 42 produits...
> je ne sais pas comment appeler ces colonnes avec la fonction
> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
> produits").range("g"&i).value)).entirehidden=true
> peut etre?
>
> Lionel
>
>
>
>
> "Corona" a écrit dans le message de
> news:
>> Bonjour Lionel,
>> Le fichier avec exemple de ligne + colonne masquée ici
>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>> Philippe
>>
>> Lionel a écrit :
>>> Ok Philippe,
>>> là ca fonctionne
>>> En ce qui concerne mon probleme de colonne
>>> l'enonce est simple et un simple exemple va te faire comprendre
>>> dans le fichier que j'ai mis sur cijoint:
>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
> stock
>>> avec ton code ca fonctionne
>>> et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
>>> Surgeles soient masquées...
>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>> Lionel
>>>
>>> "Corona" a écrit dans le message de
>>> news:
>>>> 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
>>>> 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
>>>> 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 (
>>>> j'avoue ne pas bien comprendre) mais bon pour mon test j'ai modifié
>>>> paramètres afin de pouvoir sélectionner 'Oui' ou 'Non'
>>>> Pour ton problème de masquage de colonnes en fonction de la boucle
>>>> 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à
>>>>>> 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
>>>>> 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
>>>>> "oui"
>>>>>>> j'ai essayé de rajouter dans la feuille "liste produits" 2
>>> qui
>>>>> pour
>>>>>>> chaque lignes donne la premiere et la derniere colonne à masquer
>>>>> 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
>>> 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
>>>>>>>>> Feuil2!Rows(i).Visible = False
>>>>>>>>> next i
>>>>>>>>>
>>>>>>>>> Merci de votre aide
>>>>>>>>> Lionel
>>>>>>>>>
>>>>>>>>>
>>>
>
>
C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" a écrit dans le message de
news:OuY7$C%Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque
produit...il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
laraison.
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
existantet 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
sielle 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é
cesparamètres afin de pouvoir sélectionner 'Oui' ou 'Non'
Pour ton problème de masquage de colonnes en fonction de la boucle
ije 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à
unautre 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > True
Next i
Par ailleurs comment ajouter avec la meme condition fans la
feuille3pouri = 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
colonnesquipourchaque lignes donne la premiere et la derniere colonne à masquer
ouaffichersuivant 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("ListeProduits").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
nonpourdefinir 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
àJpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide...
demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True
ElseFeuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:OuY7$C%23eKHA.3792@TK2MSFTNGP02.phx.gbl...
Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :
Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque
produit...
il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
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
C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" a écrit dans le message de
news:OuY7$C%Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes le
premiere et la derniere colonne a masquer ou afficher pour chaque
produit...il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste comptage
stockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news: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
laraison.
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
existantet 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
sielle 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é
cesparamètres afin de pouvoir sélectionner 'Oui' ou 'Non'
Pour ton problème de masquage de colonnes en fonction de la boucle
ije 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à
unautre 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > True
Next i
Par ailleurs comment ajouter avec la meme condition fans la
feuille3pouri = 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
colonnesquipourchaque lignes donne la premiere et la derniere colonne à masquer
ouaffichersuivant 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("ListeProduits").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
nonpourdefinir 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
àJpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de l'aide...
demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True
ElseFeuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :
> C'est cool ! ca fonctionne pour la premiere page !
> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> Lionel
>
>
> "Corona" a écrit dans le message de
> news:OuY7$C%
>> Lionel,
>> Le code se trouve dans la feuille "Liste produits", exactement où tu
>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
>> les colonnes correspondantes aux produits sont masquées si la ligne de
>> la colonne "A" indique "Non".
>> Philippe
>> Lionel a écrit :
>>> Salut en ce dimanche morose
>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
>>> premiere et la derniere colonne a masquer ou afficher pour chaque
> produit...
>>> il faut faire autant de boucles que de pages de 42 produits...
>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>> produits").range("g"&i).value)).entirehidden=true
>>> peut etre?
>>>
>>> Lionel
>>>
>>>
>>>
>>>
>>> "Corona" a écrit dans le message de
>>> news:
>>>> Bonjour Lionel,
>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>> Philippe
>>>>
>>>> Lionel a écrit :
>>>>> Ok Philippe,
>>>>> là ca fonctionne
>>>>> En ce qui concerne mon probleme de colonne
>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
>>> stock
>>>>> avec ton code ca fonctionne
>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
>>>>> Surgeles soient masquées...
>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>> Lionel
>>>>>
>>>>> "Corona" a écrit dans le message de
>>>>> news:
>>>>>> Bonsoir Lionel,
>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué sur
>>>>>> bouton 'Mise à jour' de la feuille "Liste produit" mais comme le
>>>>>> source est protégé par un mot de passe, je n'ai pas put en
> 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
>>>>>> 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é,
>>>>>> 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
>>>>>> 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
> i
>>>>>> je ne comprends pas très bien ce que tu veux sachant que i dans
>>>>>> 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
>>>>>>>> aucun soucis.
>>>>>>>> Pour les colonnes je regarderai tout à l'heure sauf si d'ici
> 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
>>>>>>>> Else
>>>>>>>> Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden
>>>>>>>> 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
>>> 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
>>>>>>>>>
>>>>>>>>> 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
> à
>>> 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
>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>
>
>
Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :
> C'est cool ! ca fonctionne pour la premiere page !
> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> Lionel
>
>
> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
> news:OuY7$C%23eKHA.3792@TK2MSFTNGP02.phx.gbl...
>> Lionel,
>> Le code se trouve dans la feuille "Liste produits", exactement où tu
>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
>> les colonnes correspondantes aux produits sont masquées si la ligne de
>> la colonne "A" indique "Non".
>> Philippe
>> Lionel a écrit :
>>> Salut en ce dimanche morose
>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
>>> premiere et la derniere colonne a masquer ou afficher pour chaque
> produit...
>>> il faut faire autant de boucles que de pages de 42 produits...
>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>> produits").range("g"&i).value)).entirehidden=true
>>> peut etre?
>>>
>>> Lionel
>>>
>>>
>>>
>>>
>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>> news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
>>>> Bonjour Lionel,
>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>> Philippe
>>>>
>>>> Lionel a écrit :
>>>>> Ok Philippe,
>>>>> là ca fonctionne
>>>>> En ce qui concerne mon probleme de colonne
>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
>>> stock
>>>>> avec ton code ca fonctionne
>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
>>>>> Surgeles soient masquées...
>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>> Lionel
>>>>>
>>>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>> news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
>>>>>> Bonsoir Lionel,
>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué sur
>>>>>> bouton 'Mise à jour' de la feuille "Liste produit" mais comme le
>>>>>> source est protégé par un mot de passe, je n'ai pas put en
> 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
>>>>>> 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é,
>>>>>> 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
>>>>>> 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
> i
>>>>>> je ne comprends pas très bien ce que tu veux sachant que i dans
>>>>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>> news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
>>>>>>>> Lionel,
>>>>>>>> Pour le message d'erreur, c'est curieux.
>>>>>>>> Je viens de renommer les feuilles avec les mêmes noms et n'ai
>>>>>>>> aucun soucis.
>>>>>>>> Pour les colonnes je regarderai tout à l'heure sauf si d'ici
> 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
>>>>>>>> Else
>>>>>>>> Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden
>>>>>>>> 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
>>> 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
>>>>>>>>>
>>>>>>>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>>>> news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
>>>>>>>>>> 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
> à
>>> 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
>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>
>
>
Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :
> C'est cool ! ca fonctionne pour la premiere page !
> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> Lionel
>
>
> "Corona" a écrit dans le message de
> news:OuY7$C%
>> Lionel,
>> Le code se trouve dans la feuille "Liste produits", exactement où tu
>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
>> les colonnes correspondantes aux produits sont masquées si la ligne de
>> la colonne "A" indique "Non".
>> Philippe
>> Lionel a écrit :
>>> Salut en ce dimanche morose
>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
>>> premiere et la derniere colonne a masquer ou afficher pour chaque
> produit...
>>> il faut faire autant de boucles que de pages de 42 produits...
>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>> produits").range("g"&i).value)).entirehidden=true
>>> peut etre?
>>>
>>> Lionel
>>>
>>>
>>>
>>>
>>> "Corona" a écrit dans le message de
>>> news:
>>>> Bonjour Lionel,
>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>> Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>> Philippe
>>>>
>>>> Lionel a écrit :
>>>>> Ok Philippe,
>>>>> là ca fonctionne
>>>>> En ce qui concerne mon probleme de colonne
>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
>>> stock
>>>>> avec ton code ca fonctionne
>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
>>>>> Surgeles soient masquées...
>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>> Lionel
>>>>>
>>>>> "Corona" a écrit dans le message de
>>>>> news:
>>>>>> Bonsoir Lionel,
>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué sur
>>>>>> bouton 'Mise à jour' de la feuille "Liste produit" mais comme le
>>>>>> source est protégé par un mot de passe, je n'ai pas put en
> 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
>>>>>> 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é,
>>>>>> 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
>>>>>> 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
> i
>>>>>> je ne comprends pas très bien ce que tu veux sachant que i dans
>>>>>> 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
>>>>>>>> aucun soucis.
>>>>>>>> Pour les colonnes je regarderai tout à l'heure sauf si d'ici
> 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
>>>>>>>> Else
>>>>>>>> Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden
>>>>>>>> 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
>>> 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
>>>>>>>>>
>>>>>>>>> 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
> à
>>> 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
>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>
>
>
Rebonsoir
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
J'ai opté pour conserver les boucles 2 to 42
en adaptant la variable i pour la page comptage stock et du coup on
conserve le benefice des boucles colonnes à cacher inchangées
Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
quoique je fasse...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
"Corona" a écrit dans le message de
news:Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden >>> False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range
" ?alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" a écrit dans le message de
news:OuY7$C%Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
lepremiere et la derniere colonne a masquer ou afficher pour chaque
produit...il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste
comptagestockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la
feuilleSurgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news:Bonsoir Lionel,
J'ai constaté effectivement un problème lorsque j'ai cliqué sur
lebouton 'Mise à jour' de la feuille "Liste produit" mais comme le
codesource est protégé par un mot de passe, je n'ai pas put en
connaîtrelaraison.
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
existantet là je n'ai pas de problème avec le code que je t'ai envoyé,
leslignes de la feuille "Feuille de comptage stock" sont bien masquées
sielle 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
estOui 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é
cesparamètres afin de pouvoir sélectionner 'Oui' ou 'Non'
Pour ton problème de masquage de colonnes en fonction de la
boucleije ne comprends pas très bien ce que tu veux sachant que i dans
cetteboucle 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
euaucun soucis.
Pour les colonnes je regarderai tout à l'heure sauf si d'ici
làunautre 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
>>>>>>> FalseElse
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden
>>>>>>> TrueEnd 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden >>> True
Next i
Par ailleurs comment ajouter avec la meme condition fans la
feuille3pouri = 2 que les colonnes EàJ soient invisibles si "non" et
visiblessi"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
colonnesquipourchaque lignes donne la premiere et la derniere colonne à masquer
ouaffichersuivant 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("ListeProduits").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
nonpourdefinir 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àJpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de
l'aide...demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True
ElseFeuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Rebonsoir
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
J'ai opté pour conserver les boucles 2 to 42
en adaptant la variable i pour la page comptage stock et du coup on
conserve le benefice des boucles colonnes à cacher inchangées
Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
quoique je fasse...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:uM7CMQAfKHA.1596@TK2MSFTNGP06.phx.gbl...
Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :
C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden >>> False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range
" ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:OuY7$C%23eKHA.3792@TK2MSFTNGP02.phx.gbl...
Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :
Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
le
premiere et la derniere colonne a masquer ou afficher pour chaque
produit...
il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :
Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste
comptage
stock
avec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la
feuille
Surgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
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" <PhilippeTulliez@Brux.be> a écrit dans le message de
news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
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
Rebonsoir
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range " ?
alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
J'ai opté pour conserver les boucles 2 to 42
en adaptant la variable i pour la page comptage stock et du coup on
conserve le benefice des boucles colonnes à cacher inchangées
Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
quoique je fasse...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
"Corona" a écrit dans le message de
news:Lionel,
C'est normal que cela ne fonctionne pas.
Tu m'as dit toi même que tu savais que la limite était de 42 produits
par feuille et que tu avais splité les produits sur plusieurs feuilles
Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211 ?)
et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
en fonction des feuilles que tu visites.
C'est à dire que tu dois effectuer un calcul avec la variable i.
Philippe
Lionel a écrit :C'est cool ! ca fonctionne pour la premiere page !
J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
Dim i As Integer, c As Integer
For i = 2 To 42 ' Surgeles
If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > False
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > True
For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' VIANDES PLATS SALADES
If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden >>> False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > True
Next
End If
Next i
For i = 2 To 42 ' FROMAGES DESSERTS
If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' SEC
If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("SEC").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
For i = 2 To 42 ' FRAIS GENERAUX
If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> FalseFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
Next
Else
Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
>>> TrueFor c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
Next
End If
Next i
End Sub
Je vois pas ce qui bloque
Le message "impossible de definir la propriete hidden de la classe range
" ?alors que ca fonctionne poour la page "surgeles"
N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
relance a nouveau la macro pour la cacher...?
Lionel
"Corona" a écrit dans le message de
news:OuY7$C%Lionel,
Le code se trouve dans la feuille "Liste produits", exactement où tu
avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras que
les colonnes correspondantes aux produits sont masquées si la ligne de
la colonne "A" indique "Non".
Philippe
Lionel a écrit :Salut en ce dimanche morose
Le fichier envoyé ne fait rien ! pas de macro rien!!
en ce qui concerne le nombre de produits, je sais, 42 par feuille
c'est pour cela qu'il y en a plusieurs...feuilles ;-)
c'est aussi pour cela que dans liste produit j'ai mis dans 2 colonnes
lepremiere et la derniere colonne a masquer ou afficher pour chaque
produit...il faut faire autant de boucles que de pages de 42 produits...
je ne sais pas comment appeler ces colonnes avec la fonction
Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
produits").range("g"&i).value)).entirehidden=true
peut etre?
Lionel
"Corona" a écrit dans le message de
news:Bonjour Lionel,
Le fichier avec exemple de ligne + colonne masquée ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
Pour Excel 2003 le maximum de produits à masquer est de 42. Etant
donné que tu as 6 colonnes par ligne de produits + les 4 colonnes de
début, on dépasse le maximum de 256 colonnes au 43ème produit
Philippe
Lionel a écrit :Ok Philippe,
là ca fonctionne
En ce qui concerne mon probleme de colonne
l'enonce est simple et un simple exemple va te faire comprendre
dans le fichier que j'ai mis sur cijoint:
la premiere ligne "pain au chocolat" de la feuille "liste produit"
si je mets "non" pour qu'elle n'apparaisse plus dans la liste
comptagestockavec ton code ca fonctionne
et bien il faudrait qu'en plus les cinque colonne E à J de la
feuilleSurgeles soient masquées...
et ce pour tous les produits sinon ca serait pas rigolo...
Lionel
"Corona" a écrit dans le message de
news:Bonsoir Lionel,
J'ai constaté effectivement un problème lorsque j'ai cliqué sur
lebouton 'Mise à jour' de la feuille "Liste produit" mais comme le
codesource est protégé par un mot de passe, je n'ai pas put en
connaîtrelaraison.
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
existantet là je n'ai pas de problème avec le code que je t'ai envoyé,
leslignes de la feuille "Feuille de comptage stock" sont bien masquées
sielle 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
estOui 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é
cesparamètres afin de pouvoir sélectionner 'Oui' ou 'Non'
Pour ton problème de masquage de colonnes en fonction de la
boucleije ne comprends pas très bien ce que tu veux sachant que i dans
cetteboucle 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
euaucun soucis.
Pour les colonnes je regarderai tout à l'heure sauf si d'ici
làunautre 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
>>>>>>> FalseElse
Sheets("Feuille de comptage stock").Rows(I).EntireRow.Hidden
>>>>>>> TrueEnd 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
ElseSheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden >>> True
Next i
Par ailleurs comment ajouter avec la meme condition fans la
feuille3pouri = 2 que les colonnes EàJ soient invisibles si "non" et
visiblessi"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
colonnesquipourchaque lignes donne la premiere et la derniere colonne à masquer
ouaffichersuivant 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("ListeProduits").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
nonpourdefinir 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àJpourlepremier de J à O pour le deuxieme ...) par produit qui doivent
apparaitre oudisparaitre ... je suis pas sorti de l'auberge sans de
l'aide...demesgénies preferes....
voila ca que j'avais essayé mais j'ai un message erreur 438
lorsquejel'execute...
For i = 2 To 196
If Range("a" & i) = "Oui" Then Feuil2!Rows(i).Visible = True
ElseFeuil2!Rows(i).Visible = False
next i
Merci de votre aide
Lionel
Bonjour Lionel,
Je n'ai pas eu l'occasion de tester ton code étant donné que le
classeur que tu as déposé sur ci-joint ne contenait pas la feuille "SEC"
ni "FRAIS GENERAUX".
Toutefois en parcourant la lecture de ton code en vitesse, je
constate une erreur dans la première boucle
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
Il manque un S à rows il s'agit d'une collection rows et pas row une ligne
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Philippe
Lionel a écrit :
> Rebonsoir
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> J'ai opté pour conserver les boucles 2 to 42
> en adaptant la variable i pour la page comptage stock et du coup on
> conserve le benefice des boucles colonnes à cacher inchangées
> Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
> quoique je fasse...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> "Corona" a écrit dans le message de
> news:
>> Lionel,
>> C'est normal que cela ne fonctionne pas.
>> Tu m'as dit toi même que tu savais que la limite était de 42
>> par feuille et que tu avais splité les produits sur plusieurs feuilles
>> Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211
>> et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>> en fonction des feuilles que tu visites.
>> C'est à dire que tu dois effectuer un calcul avec la variable i.
>> Philippe
>>
>> Lionel a écrit :
>>> C'est cool ! ca fonctionne pour la premiere page !
>>> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>>>
>>> Dim i As Integer, c As Integer
>>> For i = 2 To 42 ' Surgeles
>>> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' VIANDES PLATS SALADES
>>> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FROMAGES DESSERTS
>>> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > > False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' SEC
>>> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FRAIS GENERAUX
>>> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> End Sub
>>>
>>> Je vois pas ce qui bloque
>>> Le message "impossible de definir la propriete hidden de la classe
> " ?
>>> alors que ca fonctionne poour la page "surgeles"
>>> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
>>> relance a nouveau la macro pour la cacher...?
>>>
>>> Lionel
>>>
>>>
>>> "Corona" a écrit dans le message de
>>> news:OuY7$C%
>>>> Lionel,
>>>> Le code se trouve dans la feuille "Liste produits", exactement où
>>>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras
>>>> les colonnes correspondantes aux produits sont masquées si la ligne
>>>> la colonne "A" indique "Non".
>>>> Philippe
>>>> Lionel a écrit :
>>>>> Salut en ce dimanche morose
>>>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2
> le
>>>>> premiere et la derniere colonne a masquer ou afficher pour chaque
>>> produit...
>>>>> il faut faire autant de boucles que de pages de 42 produits...
>>>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>>>> produits").range("g"&i).value)).entirehidden=true
>>>>> peut etre?
>>>>>
>>>>> Lionel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Corona" a écrit dans le message de
>>>>> news:
>>>>>> Bonjour Lionel,
>>>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>>>> Pour Excel 2003 le maximum de produits à masquer est de 42.
>>>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes
>>>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>>>> Philippe
>>>>>>
>>>>>> Lionel a écrit :
>>>>>>> Ok Philippe,
>>>>>>> là ca fonctionne
>>>>>>> En ce qui concerne mon probleme de colonne
>>>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
> comptage
>>>>> stock
>>>>>>> avec ton code ca fonctionne
>>>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
> feuille
>>>>>>> Surgeles soient masquées...
>>>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>>>> Lionel
>>>>>>>
>>>>>>> "Corona" a écrit dans le message de
>>>>>>> news:
>>>>>>>> Bonsoir Lionel,
>>>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué
> 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
>>>>>>>> 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
>>> 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
>>> 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
> 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
>>>>>>>>>> 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
> > >>>>>>> False
>>>>>>>>>> Else
>>>>>>>>>> Sheets("Feuille de comptage
> > >>>>>>> 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
>>> 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 à
>>> 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
>>> 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
> E
>>> à
>>>>> J
>>>>>>>>> pour
>>>>>>>>>>> le
>>>>>>>>>>>>> premier de J à O pour le deuxieme ...) par produit qui
>>>>>>>>>>> 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
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>
>
Bonjour Lionel,
Je n'ai pas eu l'occasion de tester ton code étant donné que le
classeur que tu as déposé sur ci-joint ne contenait pas la feuille "SEC"
ni "FRAIS GENERAUX".
Toutefois en parcourant la lecture de ton code en vitesse, je
constate une erreur dans la première boucle
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
Il manque un S à rows il s'agit d'une collection rows et pas row une ligne
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Philippe
Lionel a écrit :
> Rebonsoir
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> J'ai opté pour conserver les boucles 2 to 42
> en adaptant la variable i pour la page comptage stock et du coup on
> conserve le benefice des boucles colonnes à cacher inchangées
> Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
> quoique je fasse...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
> news:uM7CMQAfKHA.1596@TK2MSFTNGP06.phx.gbl...
>> Lionel,
>> C'est normal que cela ne fonctionne pas.
>> Tu m'as dit toi même que tu savais que la limite était de 42
>> par feuille et que tu avais splité les produits sur plusieurs feuilles
>> Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211
>> et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>> en fonction des feuilles que tu visites.
>> C'est à dire que tu dois effectuer un calcul avec la variable i.
>> Philippe
>>
>> Lionel a écrit :
>>> C'est cool ! ca fonctionne pour la premiere page !
>>> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>>>
>>> Dim i As Integer, c As Integer
>>> For i = 2 To 42 ' Surgeles
>>> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' VIANDES PLATS SALADES
>>> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FROMAGES DESSERTS
>>> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > > False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' SEC
>>> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FRAIS GENERAUX
>>> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> End Sub
>>>
>>> Je vois pas ce qui bloque
>>> Le message "impossible de definir la propriete hidden de la classe
> " ?
>>> alors que ca fonctionne poour la page "surgeles"
>>> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
>>> relance a nouveau la macro pour la cacher...?
>>>
>>> Lionel
>>>
>>>
>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>> news:OuY7$C%23eKHA.3792@TK2MSFTNGP02.phx.gbl...
>>>> Lionel,
>>>> Le code se trouve dans la feuille "Liste produits", exactement où
>>>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras
>>>> les colonnes correspondantes aux produits sont masquées si la ligne
>>>> la colonne "A" indique "Non".
>>>> Philippe
>>>> Lionel a écrit :
>>>>> Salut en ce dimanche morose
>>>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2
> le
>>>>> premiere et la derniere colonne a masquer ou afficher pour chaque
>>> produit...
>>>>> il faut faire autant de boucles que de pages de 42 produits...
>>>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>>>> produits").range("g"&i).value)).entirehidden=true
>>>>> peut etre?
>>>>>
>>>>> Lionel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>> news:OQwI3c9eKHA.5020@TK2MSFTNGP02.phx.gbl...
>>>>>> Bonjour Lionel,
>>>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>>>> Pour Excel 2003 le maximum de produits à masquer est de 42.
>>>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes
>>>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>>>> Philippe
>>>>>>
>>>>>> Lionel a écrit :
>>>>>>> Ok Philippe,
>>>>>>> là ca fonctionne
>>>>>>> En ce qui concerne mon probleme de colonne
>>>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
> comptage
>>>>> stock
>>>>>>> avec ton code ca fonctionne
>>>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
> feuille
>>>>>>> Surgeles soient masquées...
>>>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>>>> Lionel
>>>>>>>
>>>>>>> "Corona" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>> news:ex59cu0eKHA.4636@TK2MSFTNGP04.phx.gbl...
>>>>>>>> Bonsoir Lionel,
>>>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué
> 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
>>>>>>>> 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
>>> 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
>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>>>> news:%2306khjzeKHA.2780@TK2MSFTNGP05.phx.gbl...
>>>>>>>>>> Lionel,
>>>>>>>>>> Pour le message d'erreur, c'est curieux.
>>>>>>>>>> Je viens de renommer les feuilles avec les mêmes noms et
> 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
>>>>>>>>>> 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
> > >>>>>>> False
>>>>>>>>>> Else
>>>>>>>>>> Sheets("Feuille de comptage
> > >>>>>>> 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
>>> 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 à
>>> 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" <PhilippeTulliez@Brux.be> a écrit dans le message de
>>>>>>>>>>> news:ef4y0zyeKHA.4952@TK2MSFTNGP06.phx.gbl...
>>>>>>>>>>>> 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
>>> 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
> E
>>> à
>>>>> J
>>>>>>>>> pour
>>>>>>>>>>> le
>>>>>>>>>>>>> premier de J à O pour le deuxieme ...) par produit qui
>>>>>>>>>>> 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
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>
>
Bonjour Lionel,
Je n'ai pas eu l'occasion de tester ton code étant donné que le
classeur que tu as déposé sur ci-joint ne contenait pas la feuille "SEC"
ni "FRAIS GENERAUX".
Toutefois en parcourant la lecture de ton code en vitesse, je
constate une erreur dans la première boucle
Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
Il manque un S à rows il s'agit d'une collection rows et pas row une ligne
Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden = True
Philippe
Lionel a écrit :
> Rebonsoir
>
> Je vois pas ce qui bloque
> Le message "impossible de definir la propriete hidden de la classe range
> alors que ca fonctionne poour la page "surgeles"
> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
> relance a nouveau la macro pour la cacher...?
>
> J'ai opté pour conserver les boucles 2 to 42
> en adaptant la variable i pour la page comptage stock et du coup on
> conserve le benefice des boucles colonnes à cacher inchangées
> Mais ca ne fonctionne que sur le papier car le message d'erreur apparait
> quoique je fasse...
>
> Dim i As Integer, c As Integer
> For i = 2 To 42 ' Surgeles
> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden False
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Row(i).EntireRow.Hidden = True
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' VIANDES PLATS SALADES
> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden > > False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 42).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden True
> Next
> End If
> Next i
> For i = 2 To 42 ' FROMAGES DESSERTS
> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 84).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' SEC
> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 126).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> For i = 2 To 42 ' FRAIS GENERAUX
> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
> Next
> Else
> Sheets("Feuille de comptage stock").Rows(i + 169).EntireRow.Hidden
> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
> Next
> End If
> Next i
> End Sub
>
> "Corona" a écrit dans le message de
> news:
>> Lionel,
>> C'est normal que cela ne fonctionne pas.
>> Tu m'as dit toi même que tu savais que la limite était de 42
>> par feuille et que tu avais splité les produits sur plusieurs feuilles
>> Donc, ta boucle de lecture des lignes doit aller de 2 à n (n = 211
>> et tu dois adapter le calcul c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>> en fonction des feuilles que tu visites.
>> C'est à dire que tu dois effectuer un calcul avec la variable i.
>> Philippe
>>
>> Lionel a écrit :
>>> C'est cool ! ca fonctionne pour la premiere page !
>>> J'ai adapté pour les pages suivantes mais ca bloque des la deuxieme...
>>>
>>> Dim i As Integer, c As Integer
>>> For i = 2 To 42 ' Surgeles
>>> If Sheets("Liste Produits").Range("a" & i) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i).EntireRow.Hidden > > True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SURGELES").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' VIANDES PLATS SALADES
>>> If Sheets("Liste Produits").Range("a" & i + 42) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("VIANDES PLATS SALADES").Columns(c).EntireColumn.Hidden
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FROMAGES DESSERTS
>>> If Sheets("Liste Produits").Range("a" & i + 84) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden > > False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FROMAGES DESSERTS").Columns(c).EntireColumn.Hidden True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' SEC
>>> If Sheets("Liste Produits").Range("a" & i + 126) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("SEC").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> For i = 2 To 42 ' FRAIS GENERAUX
>>> If Sheets("Liste Produits").Range("a" & i + 169) = "Oui" Then
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> False
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = False
>>> Next
>>> Else
>>> Sheets("Feuille de comptage stock").Rows(i +
> > >>> True
>>> For c = ((i - 1) * 6) - 1 To ((i - 1) * 6) + 5
>>> Sheets("FRAIS GENERAUX").Columns(c).EntireColumn.Hidden = True
>>> Next
>>> End If
>>> Next i
>>> End Sub
>>>
>>> Je vois pas ce qui bloque
>>> Le message "impossible de definir la propriete hidden de la classe
> " ?
>>> alors que ca fonctionne poour la page "surgeles"
>>> N'y aurait il pas un blocage lorsque une colonne est 'hidden' et qu'on
>>> relance a nouveau la macro pour la cacher...?
>>>
>>> Lionel
>>>
>>>
>>> "Corona" a écrit dans le message de
>>> news:OuY7$C%
>>>> Lionel,
>>>> Le code se trouve dans la feuille "Liste produits", exactement où
>>>> avais mis le tien. Clique sur le bouton "Mise à jour" et tu verras
>>>> les colonnes correspondantes aux produits sont masquées si la ligne
>>>> la colonne "A" indique "Non".
>>>> Philippe
>>>> Lionel a écrit :
>>>>> Salut en ce dimanche morose
>>>>> Le fichier envoyé ne fait rien ! pas de macro rien!!
>>>>> en ce qui concerne le nombre de produits, je sais, 42 par feuille
>>>>> c'est pour cela qu'il y en a plusieurs...feuilles ;-)
>>>>> c'est aussi pour cela que dans liste produit j'ai mis dans 2
> le
>>>>> premiere et la derniere colonne a masquer ou afficher pour chaque
>>> produit...
>>>>> il faut faire autant de boucles que de pages de 42 produits...
>>>>> je ne sais pas comment appeler ces colonnes avec la fonction
>>>>> Columns((sheets("liste produits").range("g"&i).value):(sheets("liste
>>>>> produits").range("g"&i).value)).entirehidden=true
>>>>> peut etre?
>>>>>
>>>>> Lionel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> "Corona" a écrit dans le message de
>>>>> news:
>>>>>> Bonjour Lionel,
>>>>>> Le fichier avec exemple de ligne + colonne masquée ici
>>>>>> http://www.cijoint.fr/cjlink.php?file=cj200912/cij4pBClZv.xls
>>>>>> Pour Excel 2003 le maximum de produits à masquer est de 42.
>>>>>> donné que tu as 6 colonnes par ligne de produits + les 4 colonnes
>>>>>> début, on dépasse le maximum de 256 colonnes au 43ème produit
>>>>>> Philippe
>>>>>>
>>>>>> Lionel a écrit :
>>>>>>> Ok Philippe,
>>>>>>> là ca fonctionne
>>>>>>> En ce qui concerne mon probleme de colonne
>>>>>>> l'enonce est simple et un simple exemple va te faire comprendre
>>>>>>> dans le fichier que j'ai mis sur cijoint:
>>>>>>> la premiere ligne "pain au chocolat" de la feuille "liste produit"
>>>>>>> si je mets "non" pour qu'elle n'apparaisse plus dans la liste
> comptage
>>>>> stock
>>>>>>> avec ton code ca fonctionne
>>>>>>> et bien il faudrait qu'en plus les cinque colonne E à J de la
> feuille
>>>>>>> Surgeles soient masquées...
>>>>>>> et ce pour tous les produits sinon ca serait pas rigolo...
>>>>>>> Lionel
>>>>>>>
>>>>>>> "Corona" a écrit dans le message de
>>>>>>> news:
>>>>>>>> Bonsoir Lionel,
>>>>>>>> J'ai constaté effectivement un problème lorsque j'ai cliqué
> 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
>>>>>>>> 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
>>> 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
>>> 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
> 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
>>>>>>>>>> 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
> > >>>>>>> False
>>>>>>>>>> Else
>>>>>>>>>> Sheets("Feuille de comptage
> > >>>>>>> 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
>>> 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 à
>>> 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
>>> 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
> E
>>> à
>>>>> J
>>>>>>>>> pour
>>>>>>>>>>> le
>>>>>>>>>>>>> premier de J à O pour le deuxieme ...) par produit qui
>>>>>>>>>>> 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
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>
>