Cacher des lignes sous conditions
Résolu/Fermé
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
-
Modifié par celine31190 le 12/11/2015 à 10:04
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 13 nov. 2015 à 10:38
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 13 nov. 2015 à 10:38
A voir également:
- Entirerow.hidden = true
- Application pour cacher des applications - Guide
- Cacher conversation whatsapp - Guide
- Comment cacher ses amis sur facebook - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Cacher son numéro - Guide
3 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
12 nov. 2015 à 10:18
12 nov. 2015 à 10:18
Bonjour,
code a mettre dans la fenetre VBA de la feuille:
code a mettre dans la fenetre VBA de la feuille:
Private Sub Worksheet_Activate() Dim x As Byte For x = 19 To 46 If Cells(x, 2) = "" Then Rows(x).EntireRow.Hidden = True 'masque Else Rows(x).EntireRow.Hidden = False 'affiche End If Next x End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
12 nov. 2015 à 17:23
12 nov. 2015 à 17:23
Bonjour
Macro à copier coller dans le module feuille concernée
se déclenche lorsqu'on active la feuille
Macro à copier coller dans le module feuille concernée
se déclenche lorsqu'on active la feuille
Option Explicit
'---------------------------
Private Sub Worksheet_Activate()
On Error Resume Next
Range("B19:B46").EntireRow.Hidden = False
Range("B19:B46").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
12 nov. 2015 à 17:25
12 nov. 2015 à 17:25
Merci celle là c'est dejà fait :) mais c'est gentil quand même
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
12 nov. 2015 à 17:26
12 nov. 2015 à 17:26
J'ai besoin de ça maintenant :
Quand G6 est vide ou =0, les lignes de 8 à 14 sont cachées
Quand G17 est vide ou =0, les lignes de 16 à 22 sont cachées
Quand G25 est vide ou =0, les lignes de 24 à 30 sont cachées
Quand G33 est vide ou =0, les lignes 32 à 38 sont cachées.
Sachant que le code de ma feuille est ça :
Merci d'avance
Quand G6 est vide ou =0, les lignes de 8 à 14 sont cachées
Quand G17 est vide ou =0, les lignes de 16 à 22 sont cachées
Quand G25 est vide ou =0, les lignes de 24 à 30 sont cachées
Quand G33 est vide ou =0, les lignes 32 à 38 sont cachées.
Sachant que le code de ma feuille est ça :
Private Sub Worksheet_Activate()
Dim x As Byte
For x = 43 To 162
If Cells(x, 2) = "" Or Cells(x, 2) = 0 Then
Rows(x).EntireRow.Hidden = True 'masque
Else
Rows(x).EntireRow.Hidden = False 'affiche
End If
Next x
End Sub
Merci d'avance
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
12 nov. 2015 à 17:27
12 nov. 2015 à 17:27
Re,
Private Sub Worksheet_Activate() Dim x As Byte 'Quand G6 est vide ou =0, les lignes de 8 à 14 sont cachées If Cells(6, 7) = "" Or Cells(6, 7) = 0 Then Rows(6).EntireRow.Hidden = True 'masque Else Rows(6).EntireRow.Hidden = False 'affiche End If 'Quand G17 est vide ou =0, les lignes de 16 à 22 sont cachées If Cells(17, 7) = "" Or Cells(17, 7) = 0 Then Rows(17).EntireRow.Hidden = True 'masque Else Rows(17).EntireRow.Hidden = False 'affiche End If 'Quand G25 est vide ou =0, les lignes de 24 à 30 sont cachées If Cells(25, 7) = "" Or Cells(25, 7) = 0 Then Rows(25).EntireRow.Hidden = True 'masque Else Rows(25).EntireRow.Hidden = False 'affiche End If 'Quand G33 est vide ou =0, les lignes 32 à 38 sont cachées. If Cells(33, 7) = "" Or Cells(33, 7) = 0 Then Rows(33).EntireRow.Hidden = True 'masque Else Rows(33).EntireRow.Hidden = False 'affiche End If 'B43 a B162 For x = 43 To 162 If Cells(x, 2) = "" Or Cells(x, 2) = 0 Then Rows(x).EntireRow.Hidden = True 'masque Else Rows(x).EntireRow.Hidden = False 'affiche End If Next x End Sub
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié par f894009 le 12/11/2015 à 17:31
Modifié par f894009 le 12/11/2015 à 17:31
Bonjour michel_m
Marche pas avec des cellules avec formule!!!
Range("B19:B46").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Marche pas avec des cellules avec formule!!!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
>
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
12 nov. 2015 à 17:32
12 nov. 2015 à 17:32
Désolé je n'avais pas vu les précédents dialogues
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
13 nov. 2015 à 07:28
13 nov. 2015 à 07:28
Bonjour,
Devais etre un dans le gaz hier soir, code corrige:
Devais etre un dans le gaz hier soir, code corrige:
Private Sub Worksheet_Activate() Dim x As Byte 'Quand G6 est vide ou =0, les lignes de 8 à 14 sont cachées If Cells(6, 7) = "" Or Cells(6, 7) = 0 Then Rows("8:14").EntireRow.Hidden = True 'masque Else Rows("8:14").EntireRow.Hidden = False 'affiche End If 'Quand G17 est vide ou =0, les lignes de 16 à 22 sont cachées If Cells(17, 7) = "" Or Cells(17, 7) = 0 Then Rows("16:22").EntireRow.Hidden = True 'masque Else Rows("16:22").EntireRow.Hidden = False 'affiche End If 'Quand G25 est vide ou =0, les lignes de 24 à 30 sont cachées If Cells(25, 7) = "" Or Cells(25, 7) = 0 Then Rows("24:30").EntireRow.Hidden = True 'masque Else Rows("24:30").EntireRow.Hidden = False 'affiche End If 'Quand G33 est vide ou =0, les lignes 32 à 38 sont cachées. If Cells(33, 7) = "" Or Cells(33, 7) = 0 Then Rows("32:38").EntireRow.Hidden = True 'masque Else Rows("32:38").EntireRow.Hidden = False 'affiche End If 'B43 a B162 For x = 43 To 162 If Cells(x, 2) = "" Or Cells(x, 2) = 0 Then Rows(x).EntireRow.Hidden = True 'masque Else Rows(x).EntireRow.Hidden = False 'affiche End If Next x End Sub
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
13 nov. 2015 à 09:03
13 nov. 2015 à 09:03
Bonjour, F894009, j'ai essayé le code et ça me marque : Erreur compilation
Nom ambiguë : Worksheet_Activate
Nom ambiguë : Worksheet_Activate
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
13 nov. 2015 à 09:22
13 nov. 2015 à 09:22
Re,
Vous avez peut-etre deux fois la meme procedure ou ligne
Vous avez peut-etre deux fois la meme procedure ou ligne
Private Sub Worksheet_Activate()
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
13 nov. 2015 à 09:42
13 nov. 2015 à 09:42
Oui c'était bien ça, j'avais oublier de supprimer l'ancienne procédure, du coup ça marche, merci beaucoup pour votre aide
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
celine31190
Messages postés
21
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
17 décembre 2015
13 nov. 2015 à 10:38
13 nov. 2015 à 10:38
Re,
Ok, ca roule. Bonne continuation
Ok, ca roule. Bonne continuation
12 nov. 2015 à 10:22
12 nov. 2015 à 10:24
j'ai fait ce code sur des cellules avec formules, montrez une des formules
12 nov. 2015 à 10:24
12 nov. 2015 à 10:24
12 nov. 2015 à 10:26
essayez comme ceci:
=SI('Ma feuille de calcul'!E7<>"";'Ma feuille de calcul'!E7;"")