Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Siimplification macro

5 réponses
Avatar
Philippe
Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil

5 réponses

Avatar
Garette
Bonjour,

Le code suivant devrait faire les opérations sur toutes les feuilles du
classeur.

Sub test()
Set MesSheets = ActiveWorkbook.Sheets
For Each X In MesSheets
X.Unprotect
X.Range("A4:G38").ClearContents
X.Range("D2").Select
X.Protect
Next
End Sub

Le code suivant permet d'exclure du traitement une feuille nommée "Feuille
A"
Sub test()
Set MesSheets = ActiveWorkbook.Sheets
If MesSheets.Name <> "Feuille A" Then
For Each X In MesSheets
X.Unprotect
X.Range("A4:G38").ClearContents
X.Range("D2").Select
X.Protect
Next
End If
End Sub


"Philippe" a écrit dans le message de news:
4603d449$0$16852$
Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil



Avatar
JLuc
*Bonjour Philippe*,
For x = 1 To 125
With Sheets("ADH0" & Format(x, "000"))
.Unprotect
.Range("A4:G38").ClearContents
.Protect
End With
Next


Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
h2so4
bonjour,

en imaginant que que toutes les feuilles aient un nom commencant par "ADH"

Sub cleanup()
For Each c In Worksheets
If Left(c.Name, 3) = "ADH" Then
c.Unprotect
c.Range("A4:G38").ClearContents
c.Select
Selection.Range("A2").Select
c.Protect
End If
Next
End Sub


--

h2so4
play triogical at http://www.triogical.com
"Philippe" wrote in message
news:4603d449$0$16852$
Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil



Avatar
h2so4
"h2so4" wrote in message
news:A_QMh.82065$
bonjour,

en imaginant que que toutes les feuilles à nettoyer aient un nom
commencant par "ADH"

Sub cleanup()
For Each c In Worksheets
If Left(c.Name, 3) = "ADH" Then
c.Unprotect
c.Range("A4:G38").ClearContents
c.Select
Selection.Range("D2").Select
c.Protect
End If
Next
End Sub


--

h2so4
play triogical at http://www.triogical.com
"Philippe" wrote in message
news:4603d449$0$16852$
Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil







Avatar
Philippe
Merci à vous deux
Cela fonctionne à merveille
Bon we
"h2so4" a écrit dans le message de news:
l1RMh.82071$


"h2so4" wrote in message
news:A_QMh.82065$
bonjour,

en imaginant que que toutes les feuilles à nettoyer aient un nom
commencant par "ADH"

Sub cleanup()
For Each c In Worksheets
If Left(c.Name, 3) = "ADH" Then
c.Unprotect
c.Range("A4:G38").ClearContents
c.Select
Selection.Range("D2").Select
c.Protect
End If
Next
End Sub


--

h2so4
play triogical at http://www.triogical.com
"Philippe" wrote in message
news:4603d449$0$16852$
Bonjour a tous
Peut on faire plus simple dans cette macro ?

Sheets("ADH001").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH002").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect
Sheets("ADH003").Select
ActiveSheet.Unprotect
Range("A4:G38").Select
Selection.ClearContents
Range("D2").Select
ActiveSheet.Protect

........ et cela jusqu'à la feuille ("ADH0125")

merci de votre aide
Lephil