selection d'onglets
Le
Bruno RCSC

Bonsoir,
Sous excel 2002.
Je cherche une procédure (en vain) pour sélectionner tous les onglets de mon
classeur dont le nom ne commence pas par ST
Ensuite, je veux les supprimer.
Merci pour votre aide.
BH
Sous excel 2002.
Je cherche une procédure (en vain) pour sélectionner tous les onglets de mon
classeur dont le nom ne commence pas par ST
Ensuite, je veux les supprimer.
Merci pour votre aide.
BH
'--------------------------------------
Sub test()
Dim Sh As Object
Application.ScreenUpdating = False
With ThisWorkbook
.Activate
For Each Sh In .Sheets
If UCase(Left(Sh.Name, 2)) = "ST" Then
Sh.Select False
End If
Next
End With
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
'--------------------------------------
"Bruno RCSC" 4a6a0e0b$0$17754$
Bonsoir,
Sous excel 2002.
Je cherche une procédure (en vain) pour sélectionner tous les onglets de mon
classeur dont le nom ne commence pas par ST
Ensuite, je veux les supprimer.
Merci pour votre aide.
BH
Question complémentaire :
Comment dois je faire pour pouvoir lancer la macro qui serait enregistrer
dans un autre classeur, le classeur à traiter étant afficher ?
Si je supprime (With ThisWorkbook.Activate / end with), j'obtiens une erreur
sur .Sheets (erreur de compilation, référence incorrecte ou non qualifiée).
BH
"MichDenis"
où elle placée, modifie la procédure comme ceci :
Sub test()
Dim Sh As Object
Application.ScreenUpdating = False
'Tu insères le nom du classeur dont tu veux
'supprimer les feuilles.
With Workbooks("NomDuClasseur.xls")
.Activate
For Each Sh In .Sheets
If UCase(Left(Sh.Name, 2)) = "ST" Then
Sh.Select False
End If
Next
End With
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
'--------------------------------------
Tu peux aussi utiliser ceci :
'-----------------------------------
Sub test1()
Dim Sh As Object
Application.DisplayAlerts = False
With Workbooks("NomDuClasseur.xls")
For Each Sh In .Sheets
If UCase(Left(Sh.Name, 2)) = "ST" Then
Sh.Delete
End If
Next
End With
Application.DisplayAlerts = True
End Sub
'-----------------------------------
"Bruno RCSC" 4a6a1c12$0$12628$
Bravo, merci.
Question complémentaire :
Comment dois je faire pour pouvoir lancer la macro qui serait enregistrer
dans un autre classeur, le classeur à traiter étant afficher ?
Si je supprime (With ThisWorkbook.Activate / end with), j'obtiens une erreur
sur .Sheets (erreur de compilation, référence incorrecte ou non qualifiée).
BH
"MichDenis"
BH