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

    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
    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

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