Vider le contenu de certaines feuilles

Fermé
mall60 - 5 nov. 2011 à 11:28
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 - 5 nov. 2011 à 13:36
Bonjour,

Je voudrais, dans un classeur excel, vider certaines cellules de certaines feuilles.
Les feuilles en question sont dénommées "famillexx", les autres sont nommées "accueil" et "variables"
J'ai tenté la macro suivante, mais celle ci ne génère que des messages d'erreur:

Sub raz()
SheetActivate (ByVal sh As Object)
If InStr(1, non_famille, sh.Name) = 0 Then
ActiveSheet.Unprotect Password:="ma"
Range("C6:AG8,C10:AG12,C14:AG16,C18:AG20,Y26:Z30").Select
Selection.ClearContents
ActiveSheet.Protect Password:="ma"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub


Si quelqu'un pouvait m'aider....

Merci

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 5/11/2011 à 12:29
Essaie ce code :
Option Explicit 
Sub raz() 
Dim wsh As Worksheet 
   
  For Each wsh In ActiveWorkbook.Worksheets 
    If InStr(1, wsh.Name, "famille") = 1 Then 
       wsh.Unprotect Password:="ma" 
       wsh.Range("C6:AG8,C10:AG12,C14:AG16,C18:AG20,Y26:Z30").ClearContents 
       wsh.Protect Password:="ma", DrawingObjects:=True, Contents:=True, Scenarios:=True 
    End If 
  Next wsh 
   
End Sub


Cordialement
Patrice
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
5 nov. 2011 à 13:36
Salut,

ou pour rester sur ton code

Sub raz()
If ActiveSheet.Name = ("non_famille") Then
ActiveSheet.Unprotect Password:="ma"
Range("C6:AG8,C10:AG12,C14:AG16,C18:AG20,Y26:Z30").ClearContents
ActiveSheet.Protect Password:="ma"
End If
End Sub
0