[Excel]Masquer 3 lignes lorsqu'une case = 0
Résolu/Fermé
A voir également:
- Entirerow.hidden
- Aller à la ligne dans une case excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Numéro de téléphone excel 0 - Guide
8 réponses
Merci pour ta réponse
La structure est déjà toute faite et j'utilise un fichier par chantier. J'ai fait des recherche ce matin et j'ai fait une macro avec:
J'ai rajouté à la suite dans la même macro les mêmes lignes de code, en changeant les numéros de ligne et le "Range". ça a l'air de fonctionner, mais j'ai pas encore totalement fini. Par contre, j'aimerai que ma macro s'exécute à chaque fois que je visualise ma feuille "facture". Je ne sais pas si c'est possible de le faire.
Merci beaucoup
La structure est déjà toute faite et j'utilise un fichier par chantier. J'ai fait des recherche ce matin et j'ai fait une macro avec:
'Masque les lignes 31 à 33 si la case AE33 est égal à zéro If Range("ae33") = "0" Then Rows("31:33").Select Selection.EntireRow.Hidden = True End If 'Affiche les lignes 31 à 33 si la case AE33 n'est pas égal à zéro If Range("ae33") <> "0" Then Rows("30:34").Select Selection.EntireRow.Hidden = False End If
J'ai rajouté à la suite dans la même macro les mêmes lignes de code, en changeant les numéros de ligne et le "Range". ça a l'air de fonctionner, mais j'ai pas encore totalement fini. Par contre, j'aimerai que ma macro s'exécute à chaque fois que je visualise ma feuille "facture". Je ne sais pas si c'est possible de le faire.
Merci beaucoup
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
26 oct. 2006 à 15:36
26 oct. 2006 à 15:36
Bonjour Ludo,
il y a plusieurs façons de faire et pas forcément par macro.
tout dépend de l'organisation de tes données.
on peut imaginer un classeur par chantier, un classeur clients/chantiers.
le classeur chantier récupèrerait les données client du classeur client, tu y mettrais un onglet "prestations" d'où tu extrairais les lignes non nulles pour les mettre dans l'onglet devis/facture.
si tu as déjà choisi une structuration de tes données et un modèle de sortie pour tes devis/factures, fais-en un zip et monte le sur https://www.cjoint.com/
A+
il y a plusieurs façons de faire et pas forcément par macro.
tout dépend de l'organisation de tes données.
on peut imaginer un classeur par chantier, un classeur clients/chantiers.
le classeur chantier récupèrerait les données client du classeur client, tu y mettrais un onglet "prestations" d'où tu extrairais les lignes non nulles pour les mettre dans l'onglet devis/facture.
si tu as déjà choisi une structuration de tes données et un modèle de sortie pour tes devis/factures, fais-en un zip et monte le sur https://www.cjoint.com/
A+
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
26 oct. 2006 à 16:40
26 oct. 2006 à 16:40
Bonjour,
si les lignes à ausculter vont de 3 en 3, tu peux boucler sur une variable i
for i=33 to 1000 step 3
If Range("ae" & i) = "0" Then
Rows(i-2 & ":" & i).Select
Selection.EntireRow.Hidden = True
End If
et pour afficher,
Cells.EntireRow.Hidden = False
je n'ai pas testé mais ça doit le faire.
A+
si les lignes à ausculter vont de 3 en 3, tu peux boucler sur une variable i
for i=33 to 1000 step 3
If Range("ae" & i) = "0" Then
Rows(i-2 & ":" & i).Select
Selection.EntireRow.Hidden = True
End If
et pour afficher,
Cells.EntireRow.Hidden = False
je n'ai pas testé mais ça doit le faire.
A+
C'est vrai, je n'y avais pas pensé. Mais c'est pas grave, j'ai bientot fini... Mais est il possible de faire exécuter automatiquement la macro quand je clique sur la feuille facture???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
26 oct. 2006 à 17:13
26 oct. 2006 à 17:13
Bonjour,
oui, avec l'évènement Worksheet_Activate()
(tu mets ton code derrière la feuille qui t'intéresse)
A+
oui, avec l'évènement Worksheet_Activate()
(tu mets ton code derrière la feuille qui t'intéresse)
A+
Bonjour
J'ai appliqué la méthode décrite plus haut pour faire apparaitre et disparaitre des lignes dans mes feuilles.
Par contre je décroche au niveau du worksheet et pourtant j'en ai besoin.
Faut il créer une deuxieme macro?
Voici mon code on ne peut plus simple
Sub Macro1()
'Masque chambre
If Range("d18") = "0" Then
Rows("9:19").Select
Selection.EntireRow.Hidden = True
End If
'Affiche chambre
If Range("d18") <> "0" Then
Rows("9:19").Select
Selection.EntireRow.Hidden = False
End If
End Sub
Merci d'avance
J'ai appliqué la méthode décrite plus haut pour faire apparaitre et disparaitre des lignes dans mes feuilles.
Par contre je décroche au niveau du worksheet et pourtant j'en ai besoin.
Faut il créer une deuxieme macro?
Voici mon code on ne peut plus simple
Sub Macro1()
'Masque chambre
If Range("d18") = "0" Then
Rows("9:19").Select
Selection.EntireRow.Hidden = True
End If
'Affiche chambre
If Range("d18") <> "0" Then
Rows("9:19").Select
Selection.EntireRow.Hidden = False
End If
End Sub
Merci d'avance
4 déc. 2011 à 21:43
ActiveSheet.Unprotect
If Range("E73:E75,M73:M75") <> "0" Then
Rows("137:193").Select
Selection.EntireRow.Hidden = True
End If
If Range("E73:E75,M73:M75") = "0" Then
Rows("75:193").Select
Selection.EntireRow.Hiden = True
ActiveWindow.SmallScroll Down:=-14
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub