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

Résolu
claudine -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   - 20 oct. 2011 à 12:11
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


A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 264
 
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
f894009 Messages postés 17270 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
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
mic13710 Messages postés 1087 Date d'inscription   Statut Membre Dernière intervention   356
 
Format/Feuille/Afficher
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 264
 
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
claudine
 
merci encore de votre aide tout fonctionne à merveille.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 264
 
parfait, n'oublie pas de mettre en résolu.
0