Voici mon PB
Je dois masquer ou afficher certaines lignes selon la valeur d'une cellule.
Je m'explique :
S19 = 1 (ligne 23:24 masquer)
S19 = 2 (ligne 23:24 afficher)
S19 = 3 (ligne 23:24 masquer)
S19 = 4 (ligne 21:24 masquer)
S19 = 5 (ligne 21:24 masquer)
S19 = 6 ((ligne 21:24 masquer)
S19 = 7 ((ligne 21:24 masquer)
S19 = 8 ((ligne 21:24 masquer)
Je précise que je n'entre pas mes valeurs manuellement dans la cellule S19 mais que celle-ci reçoit la valeur selon le choix fait dans une liste
Je sais juste que je doit passer par Private Sub Worksheet mais n'étant pas sublime en VBA je vous demande de me guider.
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonjour à vous
Ok JCGL This Good ça fonctionne deuxpécable et si j'osais troispécable.
Merci à egalement à Softmama à Gorfael et Robert enfin merci à tous.
Juste une petite question : pourquoi quand la valeur est rentrée par "=SI(A17="";"";INDEX(No_Produit;EQUIV(A17;Produit_Fr_Ang;0)))" cela ne fonctionne pas alors que la valeur de S19 est égale à 1 ou 2 ou 3 ou etc.
Re : Masquer/afficher lignes selon la valeur d'une cellule
Salut PatrickPrev et le forum
Dans l'exemple ci-joint, je n'ai gardé que les deux feuilles réellement intéressantes pour le problème.
Les deux cellules en jaune contiennent des formule, mais seule S19 est importante.
Je me suis basé sur ce que m'a fait comprendre JCGL au travers de son poste.
J'en ai profité pour faire un lifting à ta plage nommée Produit_Fr_Ang : elle est désormais déclarée en dynamique.
A+
Edit : je viens de lire ton dernier post
Index renvoi une valeur : le contenu de la cellule à l'intersection de la ligne et la colonne définies.
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonjour,
Suite à la lecture de ce POST, je cherche à masquer différentes lignes en fonction des valeurs de différentes cellules .
Débutant en VBA, j'ai suivi les conseils de JCGL, mais je n'arrive pas à aboutir.
Dans mon doc, si F21=NON, je cache les lignes 22 à 25, puis si F27=NON, je cache les lignes 28 à 54 etc ....
En résumé, quand les cellules F21,F27,F41,F56,F61,F73,F112 affichent NON, elles masques les lignes adéquates.
Dans le sens inverse, si une de ces cellules affichent OUI, alors les lignes adéquates apparaissent.
Ci joint le fichier.
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonjour à tous,
Peux-tu essayer :
VB:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$21" Then
Rows.Hidden = False
Select Case Range("F21").Value
Case "NON": Rows("22:25").Hidden = True
Case "OUI": Rows("22:25").Hidden = False
End Select
End If
If Target.Address = "$F$27" Then
Rows.Hidden = False
Select Case Range("F27").Value
Case "NON": Rows("28:54").Hidden = True
Case "OUI": Rows("28:54").Hidden = False
End Select
End If
End Sub
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonsoir à tous,
Surtout pour saluer JC qui se fait rare ces temps ci et qui va finir par nous manquer....
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Calculation = xlCalculationManual
If Target.Column = 6 Then
If Target.Row = 21 Then Rows("22:25").Hidden = Target.Value = "NON"
If Target.Row = 27 Then Rows("28:54").Hidden = Target.Value = "NON"
End If
Application.Calculation = xlCalculationAutomatic
End Sub
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonjour JCGL et FG.
Merci pour votre aide, le résultat se rapproche de ce que je souhaite.
J'ai encore 2 à 3 réglages à effectuer, mais ça avance bien.
Par contre j'ai une nouvelle question.
En utilisant cette méthode, à chaque modification de valeur, l'intégralité des lignes sont recalculées ce qui fait que mon fichier saccade un peu. Ne serait il pas judicieux d'effectuer différentes macros afin de cibler les modifications et ainsi avoir un doc plus fluide ?
Dite moi si je dis n'importe quoi ou si cela peut être judicieux ?
Re : Masquer/afficher lignes selon la valeur d'une cellule
J'ai commencé à bosser dessus, mais j'ai un petit soucis de masque de bouton.
Pour le bouton "Zone combinée 1" (Ligne 21), il cache bien les lignes 22 à 26 ainsi que les boutons présent sur ces lignes.
Par contre le bouton "Zone combinée 2" (Ligne 27), il cache les lignes mais pas les boutons.
Je ne comprends pas car c'est le même code ?????
Re : Masquer/afficher lignes selon la valeur d'une cellule
Bonjour Lapeno, Bonjour JC ,le fil, le forum
Pourquoi utiliser des "zones combinées" au lieu de validations de données dans tes cellules (comme tu l'utilise déja dans cetaines cellules) et comme tu nous avais montré dans ton exemple....?
Cela évitera de se retrouver avec des contôles de formulaires à gérer au niveau du déplacement....
D'autre part pour la "lenteur" du code, tu devrais plutot incriminer les 5 zones de photo empilées les unes sur les autres.
Cordialement
Re : Masquer/afficher lignes selon la valeur d'une cellule
Slt FG,
Je teste les zones combinées afin de voir si c'est plus efficace au niveau de la fréquence d'affichage.
Concernant les images, et l’incrémentation, tu peux m'en dire un peu plus STP ???
Si j'ai la possibilité d'optimiser, il en sera que mieux donc si tu as un exemple je suis preneur.
Cordialement.
Re : Masquer/afficher lignes selon la valeur d'une cellule
Re
Il est, d"après moi, inutile d'utiliser des contrôles de formulaires" dans ton cas.
Avec ta méthode, tu multiplies les codes.
Pour les images: Celles ci se raffraichisses à chaque calcul. Une image passe encore, mais cinqu, bonjour le temps de traitement de la feuille.
(sur mon vieux PC, l'affichage même du classeur est saccadé...)
Repense ta présentation.
Cordialement
Re : Masquer/afficher lignes selon la valeur d'une cellule
Ok, si je je comprends bien c'est les images qui posent problème.
Le soucis est qu'elles sont impératives, ça c'est un faite.
Connaitrais-tu un autre mode de sélection moins gourmand ??? ou la solution est de décliner une image pas cas de figure ???
Dans le second cas, la formule de sélection de l'image va être interminable .... au vu des nombreuses combinaisons possible.
Pour en revenir au fichier incluant des formulaires, sais-tu pourquoi j'ai des boutons qui ne se cachent pas ???
C'est histoire de savoir car un jour cela pourrait m’être utile.
Cordialement