XL 2010 Afficher ou masquer des lignes sous conditions

TCO58

XLDnaute Nouveau
Bonjour à tous,

Je n'arrives pas à trouver ma solution du coup je viens demander un peu d'aide. Dans une feuille Excel j'aimerais pourvoir lancer en automatique :

Lorsque je tape 1 dans la cellule C7, les lignes 8 à 24 doivent être visible et les lignes 25 à 38 doivent être masquées.

Lorsque je tape 2 dans la cellule C7, les lignes 8 à 24 doivent être masquées et les lignes 25 à 38 doivent être visible.

J'ai déjà une exécution automatique pour l'affichage des classeurs suivants qui fonctionne très. Mais je n'arrive pas à trouver le code de cette solution.

si quelqu'un à une idée … je suis preneur.

Merci par avance.
 

pierrejean

XLDnaute Barbatruc
Bonjour TCO58

Une solution:
Dans le module de la feuille
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then
  If Target.Value = 1 Then
      Rows("8:24").Hidden = False
      Rows("25:38").Hidden = True
  Else
   If Target.Value = 2 Then
       Rows("8:24").Hidden = True
       Rows("25:38").Hidden = False
   End If
  End If
End If
End Sub
 

TCO58

XLDnaute Nouveau
Bonjour,

Je reviens vers vous toujours pour le même problème. Dans une autre feuille de mon classeur, j'aimerais que si A18 égal 1 alors ca me masque les lignes 7 et 14 uniquement et si A18 égale 2 alors toutes lignes du classeurs doivent être visible donc si 2 ligne 7 et 14 visible.

Par avance merci de votre aide
 

TCO58

XLDnaute Nouveau
Je précise que la donnée qui vient dans A18 n'est pas tapée manuellement. Elle est issue d'une autre feuille. A18 = feuil1b24.
Si je tape manuellement je sais faire l'exécution automatique mais pas quand je ne saisie pas manuellement dans A18.

Il me manque juste cette partie.

Par avance merci
 

job75

XLDnaute Barbatruc
Il suffisait de le dire, il y a des formules volatiles donc utiliser :
VB:
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
[A7,A14].EntireRow.Hidden = [A18] = 1
Application.EnableEvents = True
End Sub
 

TCO58

XLDnaute Nouveau
Bonjour,

Pour revenir à la dernière proposition JOB75 qui fonctionne très bien, je fais comment pour la dupliquer sur plusieurs cellule. En faite, j'aimerais que dans la même feuille A22 = NON alors me masquer les lignes 18 à 20. Et non serais toujours une valeur volatile. J'ai essayé tout bêtement de faire un copier coller de la formule en dessous mais cela ne fonctionne pas.

Si vous avez une idée… je suis preneur.

Par avance merci
 

TCO58

XLDnaute Nouveau
Alors je me suis mal exprimé. Oui effectivement je suis d'accord sur ce point. Mais dans le même principe, j'aimerais ajouter à votre code si A22 = NON alors masquer les lignes 18 à 20. NON est également issue d'une formule. Les 2 macros sont a exécuter sur la même feuille. J'ai copié/collé votre code à la suite de celui que vous m'avez donné en remplaçant par les bonnes valeurs mais … ca ne fonctionne pas. Il doit me manquer la liaison pour exécuter les 2 codes.

J'espère que c'est plus clair.

Par avance merci
 

Discussions similaires

Réponses
2
Affichages
158

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 210
Membres
103 158
dernier inscrit
laufin