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

Action VBA sur plus d'une feuille

3 réponses
Avatar
Stéphan DuQuébec
Bonjour,
C'tu frustrant le maudit VBA des fois......je tente de supprimer une plage
de cellules sur plusieurs feuilles de façon simultannée en utilisant le
CodeName des feuilles. Le script suivant ne fonctionne que sur la feuille
active ! Le but recherché est de supprimer cette plage de cellules sur toutes
les feuilles sauf les Feuil1, 2 et 3. Quelque'un saurait sur quelle fleur du
tapis je trébuche ????
Merci !

Sub Juste3mois()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.CodeName <> "Feuil1" Or ws.CodeName <> "Feuil2" Or ws.CodeName <>
"Feuil3" Then
ws.Unprotect Password:="adm"
With Range("A5:Q3000")
.ClearContents
End With
End If
Next ws
End Sub

3 réponses

Avatar
Charabeuh
bjr,

avec quelques modif. :
Sub Juste3mois()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.CodeName <> "Feuil1" And _
ws.CodeName <> "Feuil2" And _
ws.CodeName <> "Feuil3" Then
ws.Unprotect Password:="adm"
ws.Range("A5:Q3000").ClearContents
End If
Next ws

End Sub

Salut





"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour,
C'tu frustrant le maudit VBA des fois......je tente de supprimer une plage
de cellules sur plusieurs feuilles de façon simultannée en utilisant le
CodeName des feuilles. Le script suivant ne fonctionne que sur la feuille
active ! Le but recherché est de supprimer cette plage de cellules sur
toutes
les feuilles sauf les Feuil1, 2 et 3. Quelque'un saurait sur quelle fleur
du
tapis je trébuche ????
Merci !

Sub Juste3mois()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.CodeName <> "Feuil1" Or ws.CodeName <> "Feuil2" Or ws.CodeName <>
"Feuil3" Then
ws.Unprotect Password:="adm"
With Range("A5:Q3000")
.ClearContents
End With
End If
Next ws
End Sub




Avatar
Jacky
Bonsoir,
Ou encore
'--------------
Sub Juste3mois()
Dim i As Integer
For i = 4 To ThisWorkbook.Worksheets.Count
With Sheets("Feuil" & i)
.Unprotect Password:="adm"
.Range("A5:Q3000").ClearContents
'.Protect Password:="adm" ' eventuellement reprotéger
End With
Next
End Sub
'-------------------
--
Salutations
JJ


"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour,
C'tu frustrant le maudit VBA des fois......je tente de supprimer une plage
de cellules sur plusieurs feuilles de façon simultannée en utilisant le
CodeName des feuilles. Le script suivant ne fonctionne que sur la feuille
active ! Le but recherché est de supprimer cette plage de cellules sur
toutes
les feuilles sauf les Feuil1, 2 et 3. Quelque'un saurait sur quelle fleur
du
tapis je trébuche ????
Merci !

Sub Juste3mois()

Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
If ws.CodeName <> "Feuil1" Or ws.CodeName <> "Feuil2" Or ws.CodeName <>
"Feuil3" Then
ws.Unprotect Password:="adm"
With Range("A5:Q3000")
.ClearContents
End With
End If
Next ws
End Sub




Avatar
Stéphan DuQuébec
Merci à vous 2.

Vous êtes bénis.

J'ai intégré la soluce de Charabeuh et ça me convient parfaitement. Mais je
retiens également la tienne Jacky pour alternative ultérieure.

Ciao !

"Jacky" a écrit :

Bonsoir,
Ou encore
'--------------
Sub Juste3mois()
Dim i As Integer
For i = 4 To ThisWorkbook.Worksheets.Count
With Sheets("Feuil" & i)
.Unprotect Password:="adm"
.Range("A5:Q3000").ClearContents
'.Protect Password:="adm" ' eventuellement reprotéger
End With
Next
End Sub
'-------------------
--
Salutations
JJ


"Stéphan DuQuébec" a écrit dans le
message de news:
> Bonjour,
> C'tu frustrant le maudit VBA des fois......je tente de supprimer une plage
> de cellules sur plusieurs feuilles de façon simultannée en utilisant le
> CodeName des feuilles. Le script suivant ne fonctionne que sur la feuille
> active ! Le but recherché est de supprimer cette plage de cellules sur
> toutes
> les feuilles sauf les Feuil1, 2 et 3. Quelque'un saurait sur quelle fleur
> du
> tapis je trébuche ????
> Merci !
>
> Sub Juste3mois()
>
> Dim ws As Worksheet
> For Each ws In ThisWorkbook.Sheets
> If ws.CodeName <> "Feuil1" Or ws.CodeName <> "Feuil2" Or ws.CodeName <>
> "Feuil3" Then
> ws.Unprotect Password:="adm"
> With Range("A5:Q3000")
> .ClearContents
> End With
> End If
> Next ws
> End Sub
>
>