Macro pour protection et effacer le contenu de cellules

EVKona -  
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai trouvé cette macro pour effacer le contenu d'un "Range" de cellules pour une feuille active et activer la protection, mais j'aimerais utiliser cette Macro sur différentes cellules de différentes Worksheet, idées?
Des que j'active cette macro, toutes les données dans les Range s'effacent mais les worksheet n'ont pas de protection activé sauf la première(24V Worksheet).
Voici la Macro:
Sub ClearcellsAsProtect()
Dim xWS As Worksheet
Dim xPsw As String
Set xWS = ActiveSheet
xPsw = "thisistheway"
On Error Resume Next
xWS.Unprotect Password:=xPsw
Range("'24V Worksheet'!C19:C20").ClearContents
Range("'24V Worksheet'!C23:C25").ClearContents
Range("'36V Worksheet'!C19:C20").ClearContents
Range("'36V Worksheet'!C23:C27").ClearContents
Range("'48V Worksheet'!C19:C23").ClearContents
Range("'48V Worksheet'!C26:C32").ClearContents
Range("'80V Worksheet'!C19:C22").ClearContents
Range("'80V Worksheet'!C25:C30").ClearContents
xWS.Protect Password:=xPsw
End Sub
A voir également:

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

faire une boucle sur toutes les feuilles comme ceci:

Sub protection()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    Ws.Protect Password:="thisistheway"
Next Ws
End Sub
Sub deprotection()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    Ws.Unprotect Password:="thisistheway"
Next Ws
End Sub


0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Au passage , pour tenir compte des plages différentes dans chaque feuille:
Sub ClearcellsAsProtect()
Dim xPsw As String
xPsw = "thisistheway"

Sheets("'24V Worksheet'").Unprotect Password:=xPsw
Range("'24V Worksheet'!C19:C20:C23:C25").ClearContents
Sheets("'24V Worksheet'").Protect Password:=xPsw

Sheets("'36V Worksheet'").Unprotect Password:=xPsw
Range("'36V Worksheet'!C19:C20:C23:C27").ClearContents
Sheets("'36V Worksheet'").Protect Password:=xPsw

Sheets("'48V Worksheet'").Unprotect Password:=xPsw
Range("'48V Worksheet'!C19:C23:C26:C32").ClearContents
Sheets("'48V Worksheet'").Protect Password:=xPsw

Sheets("'80V Worksheet'").Unprotect Password:=xPsw
Range("'80V Worksheet'!C19:C22:C25:C30").ClearContents
Sheets("'80V Worksheet'").Protect Password:=xPsw

End Su


0