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

    Oui avec un model on voie mieux ton probleme

    A+
    Maurice
    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
        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

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