Liste de feuilles

Résolu
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

  1. bonjour
    merci de ton aide
    j ai réussi avec tout ça a l'adapter ça marche cool
    a bientôt
    0
    1. 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
      1. 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
        1. 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
          1. bonsoir
            la ca m affiche toutes les feuilles "O" ou "N"
            0
            1. 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
              1. 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
                1. 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
                  1. Bonjour

                    Oui avec un model on voie mieux ton probleme

                    A+
                    Maurice
                    0