Macro pour supp. des onglet dès qu'il y à 1

Résolu
claudine -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Dans mon fichier ci-joint je voudrai mettre une macro pour dire dans tous mes onglet SF02... si dans la cellule E12 il y a un 0 il faut que l'onglet soit supprimer ou cacher.

Comme je ne suis pas une pro de la macro je dirai même nul je me permets de vous demander votre aide.

Merci d'avance

http://www.cijoint.fr/cjlink.php?file=cj201110/cijnduJlKS.xls

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Sub cacherOnglet()
        Dim w As Worksheet
        For Each w In Worksheets
            If Left(w.Name, 4) = "SF02" And w.[E12] = 0 And w.[E12] <> "" Then
                w.Visible = False
    '            ou bien suppression sans demande de confirmation :
    '            Application.DisplayAlerts = False
    '            w.Delete
    '            Application.DisplayAlerts = True
            End If
        Next w
    End Sub
    

    eric
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Sub Cache_Onglets()
    For x = 1 To Sheets.Count
    If Left(Sheets(x).Name, 4) = "SF02" Then
    Sheets(x).Activate
    If Range("E12").Value = 0 And Range("E12").Value <> "" Then
    'Cache Onglet
    Sheets(x).Visible = False
    End If
    End If
    Next x
    End Sub

    Ou

    Sub Supprime_Onglets()
    For x = 1 To Sheets.Count
    If Left(Sheets(x).Name, 4) = "SF02" Then
    Sheets(x).Activate
    If Range("E12").Value = 0 And Range("E12").Value <> "" Then
    'Empeche les Alertes EXCEL: ici celle de la suppression d'onglet
    Application.DisplayAlerts = False
    'Supprime onglet
    Sheets(x).Delete
    End If
    End If
    Next x
    Application.DisplayAlerts = True
    End Sub

    Attention vous pouvez faire reapparaitre un onglet cache, pas un onglet supprime

    Bonne suite
    0
  3. claudine
     
    Bonjour,

    La macro pour cacher les onglet fonctionne à merveille, par contre comment fait on pour faire réaparaître les ongler cacher.

    Merci de votre aide
    0
    1. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
       
      Format/Feuille/Afficher
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      ou pour réafficher tous les onglet SF02xxxx :
      Sub affOnglet()
          Dim w As Worksheet
          For Each w In Worksheets
              If Left(w.Name, 4) = "SF02" Then
                  w.Visible = true
              End If
          Next w
      End Sub

      eric
      0
  4. claudine
     
    merci encore de votre aide tout fonctionne à merveille.
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      parfait, n'oublie pas de mettre en résolu.
      0