Liste de feuilles

Résolu/Fermé
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 19 mars 2014 à 13:56
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 21 mars 2014 à 00:06
Bonjour,
j ai un soucis avec mon fichier
j ai une macro qui cache des lignes sur mes feuilles selon une valeur
Sub a()
Dim c As Range, i As Integer, j As Long
For i = 1 To ActiveWorkbook.Worksheets.Count
If Not Worksheets(i).Name = "Vehic" Then
With Worksheets(i)
For j = 2 To Worksheets("Vehic").Range("A65536").End(xlUp).Row
If Worksheets("Vehic").Cells(j, "H") = "N" Then
.Cells(j + 5, "A").EntireRow.Hidden = True
End If
Next j
End With
End If
Next i
End Sub
le probleme c est quavec cette macro il me cache les lignes sur toutes les pages de mon classeur et moi je ne voudrais que ces feuilles ci dessous
Sheets(Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", _
' "Septembre", "Octobre", "Novembre", "Décembre")).Select
comment modifier ma macro?
si vous voulez un fichier exemple je peux vous le fournir
merci de votre aide
a bientot


10 réponses

Bonjour

Oui avec un model on voie mieux ton probleme

A+
Maurice
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
19 mars 2014 à 17:19
bonjour
je vous mets le fichier en exemple
https://www.cjoint.com/?DCtrsTYTkxw
0
Bonjour

j'ais refais ta macro pour la feuille Vehic
regarde si jais bien compris

Sub Test()
Dim Lig As Long
Vehic.Select
' Decache les lignes
Cells.EntireRow.Hidden = False
' ------------------
For Lig = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(Lig, 8) = "N" Then
Rows(Lig).EntireRow.Hidden = True
End If
Next
End Sub

A+
Maurice
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
Modifié par surplus le 19/03/2014 à 19:50
bonjour
c'est pas tout a fait ça en fait les macros a() et b() fonctionnent bien c'est ce qu'il me faut mais elles modifient sur toutes les feuilles
alors que moi je ne veux modifier que les feuilles des mois
la 2 eme ligne des macros a et b
For i = 1 To ActiveWorkbook.Worksheets.Count
ca veut bien dire que ça concerne toutes les feuilles
je pensais que en changeant du style (Array "feuilles des mois") ça aurait pu le faire mais je dois me tromper
les macros a et b sont executés a l'ouverture du classeur
comme souvent lol
qu'en pensez vous?
a bientot
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour

macro pour tous les mois

Sub TestA()
Onglet = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", _
"Septembre", "Octobre", "Novembre", "Décembre")
Application.EnableEvents = False
For F = 0 To 11
Sheets(Onglet(F)).Select
Cells.EntireRow.Hidden = False
For Lig = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(Lig, 8) = "N" Then
Rows(Lig).EntireRow.Hidden = True
End If
Next
Next
Application.EnableEvents = True
End Sub

A+

Maurice
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
19 mars 2014 à 21:27
bonsoir
la ca m affiche toutes les feuilles "O" ou "N"
0
bonsoir
j'ais pas de O ou de N dans la colonne "H" des feuille mois desolé

donc je peux pas savoir

aller je vais au dodo

A+

Maurice
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
19 mars 2014 à 21:53
bonsoir
O ou N sont dans la feuille "vehic"
"O" on affiche la voiture "N" on la cache donc ne sont affichés dans les feuilles du mois les voitures dont la colonne H de la feuille "Vehic" = "O"
bonne soirée
a bientôt
0
Bonjour

Apres une bonne nuit

Sub TestMois()
Onglet = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", _
"Septembre", "Octobre", "Novembre", "Décembre")
Application.EnableEvents = False
Vehic.Select
Cells.EntireRow.Hidden = False
For F = 0 To 11
For Lig = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(Lig, 8) = "N" Then
Sheets(Onglet(F)).Rows(Lig + 6).EntireRow.Hidden = True
Else
Sheets(Onglet(F)).Rows(Lig + 6).EntireRow.Hidden = False
End If
Next
Next
Application.EnableEvents = True
End Sub

bien sur si j'ais bien compris
A+
Maurice
0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
21 mars 2014 à 00:06
bonjour
merci de ton aide
j ai réussi avec tout ça a l'adapter ça marche cool
a bientôt
0