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

  • Votes
  • Date
  • Date décroissante
  1. bonjour
    merci de ton aide
    j ai réussi avec tout ça a l'adapter ça marche cool
    a bientôt
    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
      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
        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
          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
            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
              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